aws-sdk-s3 1.75.0 → 1.83.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk-s3.rb +3 -2
  3. data/lib/aws-sdk-s3/arn/access_point_arn.rb +62 -0
  4. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +71 -0
  5. data/lib/aws-sdk-s3/bucket.rb +56 -7
  6. data/lib/aws-sdk-s3/bucket_acl.rb +5 -0
  7. data/lib/aws-sdk-s3/bucket_cors.rb +12 -1
  8. data/lib/aws-sdk-s3/bucket_lifecycle.rb +12 -1
  9. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +12 -1
  10. data/lib/aws-sdk-s3/bucket_logging.rb +5 -0
  11. data/lib/aws-sdk-s3/bucket_notification.rb +5 -0
  12. data/lib/aws-sdk-s3/bucket_policy.rb +12 -1
  13. data/lib/aws-sdk-s3/bucket_request_payment.rb +5 -0
  14. data/lib/aws-sdk-s3/bucket_tagging.rb +12 -1
  15. data/lib/aws-sdk-s3/bucket_versioning.rb +15 -0
  16. data/lib/aws-sdk-s3/bucket_website.rb +12 -1
  17. data/lib/aws-sdk-s3/client.rb +2127 -678
  18. data/lib/aws-sdk-s3/client_api.rb +148 -0
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +7 -4
  20. data/lib/aws-sdk-s3/customizations/object.rb +4 -3
  21. data/lib/aws-sdk-s3/encryption.rb +2 -0
  22. data/lib/aws-sdk-s3/encryption/client.rb +11 -0
  23. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +64 -29
  24. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +41 -5
  25. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +5 -5
  26. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +7 -6
  27. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +32 -3
  28. data/lib/aws-sdk-s3/encryption/utils.rb +23 -0
  29. data/lib/aws-sdk-s3/encryptionV2/client.rb +201 -23
  30. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +40 -12
  31. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +77 -10
  32. data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +2 -0
  33. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +7 -4
  34. data/lib/aws-sdk-s3/encryptionV2/errors.rb +24 -0
  35. data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +2 -0
  36. data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +2 -0
  37. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +2 -0
  38. data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +2 -0
  39. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +90 -20
  40. data/lib/aws-sdk-s3/encryptionV2/materials.rb +2 -0
  41. data/lib/aws-sdk-s3/encryptionV2/utils.rb +2 -15
  42. data/lib/aws-sdk-s3/encryption_v2.rb +4 -1
  43. data/lib/aws-sdk-s3/file_uploader.rb +1 -1
  44. data/lib/aws-sdk-s3/multipart_upload.rb +15 -0
  45. data/lib/aws-sdk-s3/multipart_upload_part.rb +64 -7
  46. data/lib/aws-sdk-s3/object.rb +158 -19
  47. data/lib/aws-sdk-s3/object_acl.rb +13 -0
  48. data/lib/aws-sdk-s3/object_summary.rb +171 -17
  49. data/lib/aws-sdk-s3/object_version.rb +27 -3
  50. data/lib/aws-sdk-s3/plugins/arn.rb +187 -0
  51. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +0 -2
  52. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -1
  53. data/lib/aws-sdk-s3/plugins/s3_signer.rb +29 -7
  54. data/lib/aws-sdk-s3/presigned_post.rb +1 -0
  55. data/lib/aws-sdk-s3/presigner.rb +3 -2
  56. data/lib/aws-sdk-s3/resource.rb +1 -1
  57. data/lib/aws-sdk-s3/types.rb +1616 -222
  58. metadata +7 -5
  59. data/lib/aws-sdk-s3/plugins/bucket_arn.rb +0 -212
@@ -61,6 +61,7 @@ module Aws::S3
61
61
  # key: "ObjectKey", # required
62
62
  # upload_id: "MultipartUploadId", # required
63
63
  # request_payer: "requester", # accepts requester
64
+ # expected_bucket_owner: "AccountId",
64
65
  # }
65
66
  #
66
67
  # @!attribute [rw] bucket
@@ -70,14 +71,24 @@ module Aws::S3
70
71
  # to the access point hostname. The access point hostname takes the
71
72
  # form
72
73
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
73
- # When using this operation using an access point through the AWS
74
- # SDKs, you provide the access point ARN in place of the bucket name.
75
- # For more information about access point ARNs, see [Using Access
74
+ # When using this operation with an access point through the AWS SDKs,
75
+ # you provide the access point ARN in place of the bucket name. For
76
+ # more information about access point ARNs, see [Using Access
76
77
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
77
78
  #
79
+ # When using this API with Amazon S3 on Outposts, you must direct
80
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
81
+ # takes the form
82
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
83
+ # When using this operation using S3 on Outposts through the AWS SDKs,
84
+ # you provide the Outposts bucket ARN in place of the bucket name. For
85
+ # more information about S3 on Outposts ARNs, see [Using S3 on
86
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
87
+ #
78
88
  #
79
89
  #
80
90
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
91
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
81
92
  # @return [String]
82
93
  #
83
94
  # @!attribute [rw] key
@@ -100,13 +111,20 @@ module Aws::S3
100
111
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
101
112
  # @return [String]
102
113
  #
114
+ # @!attribute [rw] expected_bucket_owner
115
+ # The account id of the expected bucket owner. If the bucket is owned
116
+ # by a different account, the request will fail with an HTTP `403
117
+ # (Access Denied)` error.
118
+ # @return [String]
119
+ #
103
120
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUploadRequest AWS API Documentation
104
121
  #
105
122
  class AbortMultipartUploadRequest < Struct.new(
106
123
  :bucket,
107
124
  :key,
108
125
  :upload_id,
109
- :request_payer)
126
+ :request_payer,
127
+ :expected_bucket_owner)
110
128
  SENSITIVE = []
111
129
  include Aws::Structure
112
130
  end
@@ -454,8 +472,8 @@ module Aws::S3
454
472
  end
455
473
 
456
474
  # The requested bucket name is not available. The bucket namespace is
457
- # shared by all users of the system. Please select a different name and
458
- # try again.
475
+ # shared by all users of the system. Select a different name and try
476
+ # again.
459
477
  #
460
478
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketAlreadyExists AWS API Documentation
461
479
  #
@@ -891,6 +909,29 @@ module Aws::S3
891
909
  #
892
910
  # @!attribute [rw] bucket
893
911
  # The name of the bucket that contains the newly created object.
912
+ #
913
+ # When using this API with an access point, you must direct requests
914
+ # to the access point hostname. The access point hostname takes the
915
+ # form
916
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
917
+ # When using this operation with an access point through the AWS SDKs,
918
+ # you provide the access point ARN in place of the bucket name. For
919
+ # more information about access point ARNs, see [Using Access
920
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
921
+ #
922
+ # When using this API with Amazon S3 on Outposts, you must direct
923
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
924
+ # takes the form
925
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
926
+ # When using this operation using S3 on Outposts through the AWS SDKs,
927
+ # you provide the Outposts bucket ARN in place of the bucket name. For
928
+ # more information about S3 on Outposts ARNs, see [Using S3 on
929
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
930
+ #
931
+ #
932
+ #
933
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
934
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
894
935
  # @return [String]
895
936
  #
896
937
  # @!attribute [rw] key
@@ -969,6 +1010,7 @@ module Aws::S3
969
1010
  # },
970
1011
  # upload_id: "MultipartUploadId", # required
971
1012
  # request_payer: "requester", # accepts requester
1013
+ # expected_bucket_owner: "AccountId",
972
1014
  # }
973
1015
  #
974
1016
  # @!attribute [rw] bucket
@@ -999,6 +1041,12 @@ module Aws::S3
999
1041
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1000
1042
  # @return [String]
1001
1043
  #
1044
+ # @!attribute [rw] expected_bucket_owner
1045
+ # The account id of the expected bucket owner. If the bucket is owned
1046
+ # by a different account, the request will fail with an HTTP `403
1047
+ # (Access Denied)` error.
1048
+ # @return [String]
1049
+ #
1002
1050
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUploadRequest AWS API Documentation
1003
1051
  #
1004
1052
  class CompleteMultipartUploadRequest < Struct.new(
@@ -1006,7 +1054,8 @@ module Aws::S3
1006
1054
  :key,
1007
1055
  :multipart_upload,
1008
1056
  :upload_id,
1009
- :request_payer)
1057
+ :request_payer,
1058
+ :expected_bucket_owner)
1010
1059
  SENSITIVE = []
1011
1060
  include Aws::Structure
1012
1061
  end
@@ -1214,7 +1263,7 @@ module Aws::S3
1214
1263
  # metadata_directive: "COPY", # accepts COPY, REPLACE
1215
1264
  # tagging_directive: "COPY", # accepts COPY, REPLACE
1216
1265
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1217
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1266
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1218
1267
  # website_redirect_location: "WebsiteRedirectLocation",
1219
1268
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1220
1269
  # sse_customer_key: "SSECustomerKey",
@@ -1229,14 +1278,41 @@ module Aws::S3
1229
1278
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
1230
1279
  # object_lock_retain_until_date: Time.now,
1231
1280
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
1281
+ # expected_bucket_owner: "AccountId",
1282
+ # expected_source_bucket_owner: "AccountId",
1232
1283
  # }
1233
1284
  #
1234
1285
  # @!attribute [rw] acl
1235
1286
  # The canned ACL to apply to the object.
1287
+ #
1288
+ # This action is not supported by Amazon S3 on Outposts.
1236
1289
  # @return [String]
1237
1290
  #
1238
1291
  # @!attribute [rw] bucket
1239
1292
  # The name of the destination bucket.
1293
+ #
1294
+ # When using this API with an access point, you must direct requests
1295
+ # to the access point hostname. The access point hostname takes the
1296
+ # form
1297
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1298
+ # When using this operation with an access point through the AWS SDKs,
1299
+ # you provide the access point ARN in place of the bucket name. For
1300
+ # more information about access point ARNs, see [Using Access
1301
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
1302
+ #
1303
+ # When using this API with Amazon S3 on Outposts, you must direct
1304
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1305
+ # takes the form
1306
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1307
+ # When using this operation using S3 on Outposts through the AWS SDKs,
1308
+ # you provide the Outposts bucket ARN in place of the bucket name. For
1309
+ # more information about S3 on Outposts ARNs, see [Using S3 on
1310
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
1311
+ #
1312
+ #
1313
+ #
1314
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
1315
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1240
1316
  # @return [String]
1241
1317
  #
1242
1318
  # @!attribute [rw] cache_control
@@ -1262,8 +1338,50 @@ module Aws::S3
1262
1338
  # @return [String]
1263
1339
  #
1264
1340
  # @!attribute [rw] copy_source
1265
- # The name of the source bucket and key name of the source object,
1266
- # separated by a slash (/). Must be URL-encoded.
1341
+ # Specifies the source object for the copy operation. You specify the
1342
+ # value in one of two formats, depending on whether you want to access
1343
+ # the source object through an [access point][1]\:
1344
+ #
1345
+ # * For objects not accessed through an access point, specify the name
1346
+ # of the source bucket and the key of the source object, separated
1347
+ # by a slash (/). For example, to copy the object
1348
+ # `reports/january.pdf` from the bucket `awsexamplebucket`, use
1349
+ # `awsexamplebucket/reports/january.pdf`. The value must be URL
1350
+ # encoded.
1351
+ #
1352
+ # * For objects accessed through access points, specify the Amazon
1353
+ # Resource Name (ARN) of the object as accessed through the access
1354
+ # point, in the format
1355
+ # `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
1356
+ # For example, to copy the object `reports/january.pdf` through
1357
+ # access point `my-access-point` owned by account `123456789012` in
1358
+ # Region `us-west-2`, use the URL encoding of
1359
+ # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
1360
+ # The value must be URL encoded.
1361
+ #
1362
+ # <note markdown="1"> Amazon S3 supports copy operations using access points only when
1363
+ # the source and destination buckets are in the same AWS Region.
1364
+ #
1365
+ # </note>
1366
+ #
1367
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
1368
+ # specify the ARN of the object as accessed in the format
1369
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
1370
+ # For example, to copy the object `reports/january.pdf` through
1371
+ # outpost `my-outpost` owned by account `123456789012` in Region
1372
+ # `us-west-2`, use the URL encoding of
1373
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
1374
+ # The value must be URL encoded.
1375
+ #
1376
+ # To copy a specific version of an object, append
1377
+ # `?versionId=<version-id>` to the value (for example,
1378
+ # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
1379
+ # If you don't specify a version ID, Amazon S3 copies the latest
1380
+ # version of the source object.
1381
+ #
1382
+ #
1383
+ #
1384
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
1267
1385
  # @return [String]
1268
1386
  #
1269
1387
  # @!attribute [rw] copy_source_if_match
@@ -1292,18 +1410,26 @@ module Aws::S3
1292
1410
  # @!attribute [rw] grant_full_control
1293
1411
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
1294
1412
  # object.
1413
+ #
1414
+ # This action is not supported by Amazon S3 on Outposts.
1295
1415
  # @return [String]
1296
1416
  #
1297
1417
  # @!attribute [rw] grant_read
1298
1418
  # Allows grantee to read the object data and its metadata.
1419
+ #
1420
+ # This action is not supported by Amazon S3 on Outposts.
1299
1421
  # @return [String]
1300
1422
  #
1301
1423
  # @!attribute [rw] grant_read_acp
1302
1424
  # Allows grantee to read the object ACL.
1425
+ #
1426
+ # This action is not supported by Amazon S3 on Outposts.
1303
1427
  # @return [String]
1304
1428
  #
1305
1429
  # @!attribute [rw] grant_write_acp
1306
1430
  # Allows grantee to write the ACL for the applicable object.
1431
+ #
1432
+ # This action is not supported by Amazon S3 on Outposts.
1307
1433
  # @return [String]
1308
1434
  #
1309
1435
  # @!attribute [rw] key
@@ -1330,7 +1456,16 @@ module Aws::S3
1330
1456
  # @return [String]
1331
1457
  #
1332
1458
  # @!attribute [rw] storage_class
1333
- # The type of storage to use for the object. Defaults to 'STANDARD'.
1459
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1460
+ # created objects. The STANDARD storage class provides high durability
1461
+ # and high availability. Depending on performance needs, you can
1462
+ # specify a different Storage Class. Amazon S3 on Outposts only uses
1463
+ # the OUTPOSTS Storage Class. For more information, see [Storage
1464
+ # Classes][1] in the *Amazon S3 Service Developer Guide*.
1465
+ #
1466
+ #
1467
+ #
1468
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1334
1469
  # @return [String]
1335
1470
  #
1336
1471
  # @!attribute [rw] website_redirect_location
@@ -1350,7 +1485,7 @@ module Aws::S3
1350
1485
  # in encrypting data. This value is used to store the object and then
1351
1486
  # it is discarded; Amazon S3 does not store the encryption key. The
1352
1487
  # key must be appropriate for use with the algorithm specified in the
1353
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
1488
+ # `x-amz-server-side-encryption-customer-algorithm` header.
1354
1489
  # @return [String]
1355
1490
  #
1356
1491
  # @!attribute [rw] sse_customer_key_md5
@@ -1427,6 +1562,18 @@ module Aws::S3
1427
1562
  # object.
1428
1563
  # @return [String]
1429
1564
  #
1565
+ # @!attribute [rw] expected_bucket_owner
1566
+ # The account id of the expected destination bucket owner. If the
1567
+ # destination bucket is owned by a different account, the request will
1568
+ # fail with an HTTP `403 (Access Denied)` error.
1569
+ # @return [String]
1570
+ #
1571
+ # @!attribute [rw] expected_source_bucket_owner
1572
+ # The account id of the expected source bucket owner. If the source
1573
+ # bucket is owned by a different account, the request will fail with
1574
+ # an HTTP `403 (Access Denied)` error.
1575
+ # @return [String]
1576
+ #
1430
1577
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectRequest AWS API Documentation
1431
1578
  #
1432
1579
  class CopyObjectRequest < Struct.new(
@@ -1466,7 +1613,9 @@ module Aws::S3
1466
1613
  :tagging,
1467
1614
  :object_lock_mode,
1468
1615
  :object_lock_retain_until_date,
1469
- :object_lock_legal_hold_status)
1616
+ :object_lock_legal_hold_status,
1617
+ :expected_bucket_owner,
1618
+ :expected_source_bucket_owner)
1470
1619
  SENSITIVE = [:sse_customer_key, :ssekms_key_id, :ssekms_encryption_context, :copy_source_sse_customer_key]
1471
1620
  include Aws::Structure
1472
1621
  end
@@ -1517,7 +1666,7 @@ module Aws::S3
1517
1666
  # data as a hash:
1518
1667
  #
1519
1668
  # {
1520
- # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1
1669
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
1521
1670
  # }
1522
1671
  #
1523
1672
  # @!attribute [rw] location_constraint
@@ -1555,7 +1704,7 @@ module Aws::S3
1555
1704
  # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
1556
1705
  # bucket: "BucketName", # required
1557
1706
  # create_bucket_configuration: {
1558
- # location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1
1707
+ # location_constraint: "af-south-1", # accepts af-south-1, ap-east-1, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, EU, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2
1559
1708
  # },
1560
1709
  # grant_full_control: "GrantFullControl",
1561
1710
  # grant_read: "GrantRead",
@@ -1645,20 +1794,30 @@ module Aws::S3
1645
1794
  # @return [String]
1646
1795
  #
1647
1796
  # @!attribute [rw] bucket
1648
- # Name of the bucket to which the multipart upload was initiated.
1797
+ # The name of the bucket to which the multipart upload was initiated.
1649
1798
  #
1650
1799
  # When using this API with an access point, you must direct requests
1651
1800
  # to the access point hostname. The access point hostname takes the
1652
1801
  # form
1653
1802
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1654
- # When using this operation using an access point through the AWS
1655
- # SDKs, you provide the access point ARN in place of the bucket name.
1656
- # For more information about access point ARNs, see [Using Access
1803
+ # When using this operation with an access point through the AWS SDKs,
1804
+ # you provide the access point ARN in place of the bucket name. For
1805
+ # more information about access point ARNs, see [Using Access
1657
1806
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
1658
1807
  #
1808
+ # When using this API with Amazon S3 on Outposts, you must direct
1809
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1810
+ # takes the form
1811
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1812
+ # When using this operation using S3 on Outposts through the AWS SDKs,
1813
+ # you provide the Outposts bucket ARN in place of the bucket name. For
1814
+ # more information about S3 on Outposts ARNs, see [Using S3 on
1815
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
1816
+ #
1659
1817
  #
1660
1818
  #
1661
1819
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
1820
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1662
1821
  # @return [String]
1663
1822
  #
1664
1823
  # @!attribute [rw] key
@@ -1744,7 +1903,7 @@ module Aws::S3
1744
1903
  # "MetadataKey" => "MetadataValue",
1745
1904
  # },
1746
1905
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1747
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1906
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1748
1907
  # website_redirect_location: "WebsiteRedirectLocation",
1749
1908
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1750
1909
  # sse_customer_key: "SSECustomerKey",
@@ -1756,14 +1915,40 @@ module Aws::S3
1756
1915
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
1757
1916
  # object_lock_retain_until_date: Time.now,
1758
1917
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
1918
+ # expected_bucket_owner: "AccountId",
1759
1919
  # }
1760
1920
  #
1761
1921
  # @!attribute [rw] acl
1762
1922
  # The canned ACL to apply to the object.
1923
+ #
1924
+ # This action is not supported by Amazon S3 on Outposts.
1763
1925
  # @return [String]
1764
1926
  #
1765
1927
  # @!attribute [rw] bucket
1766
1928
  # The name of the bucket to which to initiate the upload
1929
+ #
1930
+ # When using this API with an access point, you must direct requests
1931
+ # to the access point hostname. The access point hostname takes the
1932
+ # form
1933
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1934
+ # When using this operation with an access point through the AWS SDKs,
1935
+ # you provide the access point ARN in place of the bucket name. For
1936
+ # more information about access point ARNs, see [Using Access
1937
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
1938
+ #
1939
+ # When using this API with Amazon S3 on Outposts, you must direct
1940
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1941
+ # takes the form
1942
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1943
+ # When using this operation using S3 on Outposts through the AWS SDKs,
1944
+ # you provide the Outposts bucket ARN in place of the bucket name. For
1945
+ # more information about S3 on Outposts ARNs, see [Using S3 on
1946
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
1947
+ #
1948
+ #
1949
+ #
1950
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
1951
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1767
1952
  # @return [String]
1768
1953
  #
1769
1954
  # @!attribute [rw] cache_control
@@ -1795,18 +1980,26 @@ module Aws::S3
1795
1980
  # @!attribute [rw] grant_full_control
1796
1981
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
1797
1982
  # object.
1983
+ #
1984
+ # This action is not supported by Amazon S3 on Outposts.
1798
1985
  # @return [String]
1799
1986
  #
1800
1987
  # @!attribute [rw] grant_read
1801
1988
  # Allows grantee to read the object data and its metadata.
1989
+ #
1990
+ # This action is not supported by Amazon S3 on Outposts.
1802
1991
  # @return [String]
1803
1992
  #
1804
1993
  # @!attribute [rw] grant_read_acp
1805
1994
  # Allows grantee to read the object ACL.
1995
+ #
1996
+ # This action is not supported by Amazon S3 on Outposts.
1806
1997
  # @return [String]
1807
1998
  #
1808
1999
  # @!attribute [rw] grant_write_acp
1809
2000
  # Allows grantee to write the ACL for the applicable object.
2001
+ #
2002
+ # This action is not supported by Amazon S3 on Outposts.
1810
2003
  # @return [String]
1811
2004
  #
1812
2005
  # @!attribute [rw] key
@@ -1823,7 +2016,16 @@ module Aws::S3
1823
2016
  # @return [String]
1824
2017
  #
1825
2018
  # @!attribute [rw] storage_class
1826
- # The type of storage to use for the object. Defaults to 'STANDARD'.
2019
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
2020
+ # created objects. The STANDARD storage class provides high durability
2021
+ # and high availability. Depending on performance needs, you can
2022
+ # specify a different Storage Class. Amazon S3 on Outposts only uses
2023
+ # the OUTPOSTS Storage Class. For more information, see [Storage
2024
+ # Classes][1] in the *Amazon S3 Service Developer Guide*.
2025
+ #
2026
+ #
2027
+ #
2028
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1827
2029
  # @return [String]
1828
2030
  #
1829
2031
  # @!attribute [rw] website_redirect_location
@@ -1843,7 +2045,7 @@ module Aws::S3
1843
2045
  # in encrypting data. This value is used to store the object and then
1844
2046
  # it is discarded; Amazon S3 does not store the encryption key. The
1845
2047
  # key must be appropriate for use with the algorithm specified in the
1846
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
2048
+ # `x-amz-server-side-encryption-customer-algorithm` header.
1847
2049
  # @return [String]
1848
2050
  #
1849
2051
  # @!attribute [rw] sse_customer_key_md5
@@ -1903,6 +2105,12 @@ module Aws::S3
1903
2105
  # object.
1904
2106
  # @return [String]
1905
2107
  #
2108
+ # @!attribute [rw] expected_bucket_owner
2109
+ # The account id of the expected bucket owner. If the bucket is owned
2110
+ # by a different account, the request will fail with an HTTP `403
2111
+ # (Access Denied)` error.
2112
+ # @return [String]
2113
+ #
1906
2114
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUploadRequest AWS API Documentation
1907
2115
  #
1908
2116
  class CreateMultipartUploadRequest < Struct.new(
@@ -1932,7 +2140,8 @@ module Aws::S3
1932
2140
  :tagging,
1933
2141
  :object_lock_mode,
1934
2142
  :object_lock_retain_until_date,
1935
- :object_lock_legal_hold_status)
2143
+ :object_lock_legal_hold_status,
2144
+ :expected_bucket_owner)
1936
2145
  SENSITIVE = [:sse_customer_key, :ssekms_key_id, :ssekms_encryption_context]
1937
2146
  include Aws::Structure
1938
2147
  end
@@ -2013,6 +2222,7 @@ module Aws::S3
2013
2222
  # {
2014
2223
  # bucket: "BucketName", # required
2015
2224
  # id: "AnalyticsId", # required
2225
+ # expected_bucket_owner: "AccountId",
2016
2226
  # }
2017
2227
  #
2018
2228
  # @!attribute [rw] bucket
@@ -2024,11 +2234,18 @@ module Aws::S3
2024
2234
  # The ID that identifies the analytics configuration.
2025
2235
  # @return [String]
2026
2236
  #
2237
+ # @!attribute [rw] expected_bucket_owner
2238
+ # The account id of the expected bucket owner. If the bucket is owned
2239
+ # by a different account, the request will fail with an HTTP `403
2240
+ # (Access Denied)` error.
2241
+ # @return [String]
2242
+ #
2027
2243
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfigurationRequest AWS API Documentation
2028
2244
  #
2029
2245
  class DeleteBucketAnalyticsConfigurationRequest < Struct.new(
2030
2246
  :bucket,
2031
- :id)
2247
+ :id,
2248
+ :expected_bucket_owner)
2032
2249
  SENSITIVE = []
2033
2250
  include Aws::Structure
2034
2251
  end
@@ -2038,16 +2255,24 @@ module Aws::S3
2038
2255
  #
2039
2256
  # {
2040
2257
  # bucket: "BucketName", # required
2258
+ # expected_bucket_owner: "AccountId",
2041
2259
  # }
2042
2260
  #
2043
2261
  # @!attribute [rw] bucket
2044
2262
  # Specifies the bucket whose `cors` configuration is being deleted.
2045
2263
  # @return [String]
2046
2264
  #
2265
+ # @!attribute [rw] expected_bucket_owner
2266
+ # The account id of the expected bucket owner. If the bucket is owned
2267
+ # by a different account, the request will fail with an HTTP `403
2268
+ # (Access Denied)` error.
2269
+ # @return [String]
2270
+ #
2047
2271
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCorsRequest AWS API Documentation
2048
2272
  #
2049
2273
  class DeleteBucketCorsRequest < Struct.new(
2050
- :bucket)
2274
+ :bucket,
2275
+ :expected_bucket_owner)
2051
2276
  SENSITIVE = []
2052
2277
  include Aws::Structure
2053
2278
  end
@@ -2057,6 +2282,7 @@ module Aws::S3
2057
2282
  #
2058
2283
  # {
2059
2284
  # bucket: "BucketName", # required
2285
+ # expected_bucket_owner: "AccountId",
2060
2286
  # }
2061
2287
  #
2062
2288
  # @!attribute [rw] bucket
@@ -2064,10 +2290,17 @@ module Aws::S3
2064
2290
  # configuration to delete.
2065
2291
  # @return [String]
2066
2292
  #
2293
+ # @!attribute [rw] expected_bucket_owner
2294
+ # The account id of the expected bucket owner. If the bucket is owned
2295
+ # by a different account, the request will fail with an HTTP `403
2296
+ # (Access Denied)` error.
2297
+ # @return [String]
2298
+ #
2067
2299
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryptionRequest AWS API Documentation
2068
2300
  #
2069
2301
  class DeleteBucketEncryptionRequest < Struct.new(
2070
- :bucket)
2302
+ :bucket,
2303
+ :expected_bucket_owner)
2071
2304
  SENSITIVE = []
2072
2305
  include Aws::Structure
2073
2306
  end
@@ -2078,6 +2311,7 @@ module Aws::S3
2078
2311
  # {
2079
2312
  # bucket: "BucketName", # required
2080
2313
  # id: "InventoryId", # required
2314
+ # expected_bucket_owner: "AccountId",
2081
2315
  # }
2082
2316
  #
2083
2317
  # @!attribute [rw] bucket
@@ -2089,11 +2323,18 @@ module Aws::S3
2089
2323
  # The ID used to identify the inventory configuration.
2090
2324
  # @return [String]
2091
2325
  #
2326
+ # @!attribute [rw] expected_bucket_owner
2327
+ # The account id of the expected bucket owner. If the bucket is owned
2328
+ # by a different account, the request will fail with an HTTP `403
2329
+ # (Access Denied)` error.
2330
+ # @return [String]
2331
+ #
2092
2332
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfigurationRequest AWS API Documentation
2093
2333
  #
2094
2334
  class DeleteBucketInventoryConfigurationRequest < Struct.new(
2095
2335
  :bucket,
2096
- :id)
2336
+ :id,
2337
+ :expected_bucket_owner)
2097
2338
  SENSITIVE = []
2098
2339
  include Aws::Structure
2099
2340
  end
@@ -2103,16 +2344,24 @@ module Aws::S3
2103
2344
  #
2104
2345
  # {
2105
2346
  # bucket: "BucketName", # required
2347
+ # expected_bucket_owner: "AccountId",
2106
2348
  # }
2107
2349
  #
2108
2350
  # @!attribute [rw] bucket
2109
2351
  # The bucket name of the lifecycle to delete.
2110
2352
  # @return [String]
2111
2353
  #
2354
+ # @!attribute [rw] expected_bucket_owner
2355
+ # The account id of the expected bucket owner. If the bucket is owned
2356
+ # by a different account, the request will fail with an HTTP `403
2357
+ # (Access Denied)` error.
2358
+ # @return [String]
2359
+ #
2112
2360
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycleRequest AWS API Documentation
2113
2361
  #
2114
2362
  class DeleteBucketLifecycleRequest < Struct.new(
2115
- :bucket)
2363
+ :bucket,
2364
+ :expected_bucket_owner)
2116
2365
  SENSITIVE = []
2117
2366
  include Aws::Structure
2118
2367
  end
@@ -2123,6 +2372,7 @@ module Aws::S3
2123
2372
  # {
2124
2373
  # bucket: "BucketName", # required
2125
2374
  # id: "MetricsId", # required
2375
+ # expected_bucket_owner: "AccountId",
2126
2376
  # }
2127
2377
  #
2128
2378
  # @!attribute [rw] bucket
@@ -2134,11 +2384,42 @@ module Aws::S3
2134
2384
  # The ID used to identify the metrics configuration.
2135
2385
  # @return [String]
2136
2386
  #
2387
+ # @!attribute [rw] expected_bucket_owner
2388
+ # The account id of the expected bucket owner. If the bucket is owned
2389
+ # by a different account, the request will fail with an HTTP `403
2390
+ # (Access Denied)` error.
2391
+ # @return [String]
2392
+ #
2137
2393
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfigurationRequest AWS API Documentation
2138
2394
  #
2139
2395
  class DeleteBucketMetricsConfigurationRequest < Struct.new(
2140
2396
  :bucket,
2141
- :id)
2397
+ :id,
2398
+ :expected_bucket_owner)
2399
+ SENSITIVE = []
2400
+ include Aws::Structure
2401
+ end
2402
+
2403
+ # @note When making an API call, you may pass DeleteBucketOwnershipControlsRequest
2404
+ # data as a hash:
2405
+ #
2406
+ # {
2407
+ # bucket: "BucketName", # required
2408
+ # expected_bucket_owner: "AccountId",
2409
+ # }
2410
+ #
2411
+ # @!attribute [rw] bucket
2412
+ # The Amazon S3 bucket whose `OwnershipControls` you want to delete.
2413
+ # @return [String]
2414
+ #
2415
+ # @!attribute [rw] expected_bucket_owner
2416
+ # @return [String]
2417
+ #
2418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOwnershipControlsRequest AWS API Documentation
2419
+ #
2420
+ class DeleteBucketOwnershipControlsRequest < Struct.new(
2421
+ :bucket,
2422
+ :expected_bucket_owner)
2142
2423
  SENSITIVE = []
2143
2424
  include Aws::Structure
2144
2425
  end
@@ -2148,16 +2429,24 @@ module Aws::S3
2148
2429
  #
2149
2430
  # {
2150
2431
  # bucket: "BucketName", # required
2432
+ # expected_bucket_owner: "AccountId",
2151
2433
  # }
2152
2434
  #
2153
2435
  # @!attribute [rw] bucket
2154
2436
  # The bucket name.
2155
2437
  # @return [String]
2156
2438
  #
2439
+ # @!attribute [rw] expected_bucket_owner
2440
+ # The account id of the expected bucket owner. If the bucket is owned
2441
+ # by a different account, the request will fail with an HTTP `403
2442
+ # (Access Denied)` error.
2443
+ # @return [String]
2444
+ #
2157
2445
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicyRequest AWS API Documentation
2158
2446
  #
2159
2447
  class DeleteBucketPolicyRequest < Struct.new(
2160
- :bucket)
2448
+ :bucket,
2449
+ :expected_bucket_owner)
2161
2450
  SENSITIVE = []
2162
2451
  include Aws::Structure
2163
2452
  end
@@ -2167,16 +2456,24 @@ module Aws::S3
2167
2456
  #
2168
2457
  # {
2169
2458
  # bucket: "BucketName", # required
2459
+ # expected_bucket_owner: "AccountId",
2170
2460
  # }
2171
2461
  #
2172
2462
  # @!attribute [rw] bucket
2173
2463
  # The bucket name.
2174
2464
  # @return [String]
2175
2465
  #
2466
+ # @!attribute [rw] expected_bucket_owner
2467
+ # The account id of the expected bucket owner. If the bucket is owned
2468
+ # by a different account, the request will fail with an HTTP `403
2469
+ # (Access Denied)` error.
2470
+ # @return [String]
2471
+ #
2176
2472
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplicationRequest AWS API Documentation
2177
2473
  #
2178
2474
  class DeleteBucketReplicationRequest < Struct.new(
2179
- :bucket)
2475
+ :bucket,
2476
+ :expected_bucket_owner)
2180
2477
  SENSITIVE = []
2181
2478
  include Aws::Structure
2182
2479
  end
@@ -2186,16 +2483,24 @@ module Aws::S3
2186
2483
  #
2187
2484
  # {
2188
2485
  # bucket: "BucketName", # required
2486
+ # expected_bucket_owner: "AccountId",
2189
2487
  # }
2190
2488
  #
2191
2489
  # @!attribute [rw] bucket
2192
2490
  # Specifies the bucket being deleted.
2193
2491
  # @return [String]
2194
2492
  #
2493
+ # @!attribute [rw] expected_bucket_owner
2494
+ # The account id of the expected bucket owner. If the bucket is owned
2495
+ # by a different account, the request will fail with an HTTP `403
2496
+ # (Access Denied)` error.
2497
+ # @return [String]
2498
+ #
2195
2499
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketRequest AWS API Documentation
2196
2500
  #
2197
2501
  class DeleteBucketRequest < Struct.new(
2198
- :bucket)
2502
+ :bucket,
2503
+ :expected_bucket_owner)
2199
2504
  SENSITIVE = []
2200
2505
  include Aws::Structure
2201
2506
  end
@@ -2205,16 +2510,24 @@ module Aws::S3
2205
2510
  #
2206
2511
  # {
2207
2512
  # bucket: "BucketName", # required
2513
+ # expected_bucket_owner: "AccountId",
2208
2514
  # }
2209
2515
  #
2210
2516
  # @!attribute [rw] bucket
2211
2517
  # The bucket that has the tag set to be removed.
2212
2518
  # @return [String]
2213
2519
  #
2520
+ # @!attribute [rw] expected_bucket_owner
2521
+ # The account id of the expected bucket owner. If the bucket is owned
2522
+ # by a different account, the request will fail with an HTTP `403
2523
+ # (Access Denied)` error.
2524
+ # @return [String]
2525
+ #
2214
2526
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTaggingRequest AWS API Documentation
2215
2527
  #
2216
2528
  class DeleteBucketTaggingRequest < Struct.new(
2217
- :bucket)
2529
+ :bucket,
2530
+ :expected_bucket_owner)
2218
2531
  SENSITIVE = []
2219
2532
  include Aws::Structure
2220
2533
  end
@@ -2224,6 +2537,7 @@ module Aws::S3
2224
2537
  #
2225
2538
  # {
2226
2539
  # bucket: "BucketName", # required
2540
+ # expected_bucket_owner: "AccountId",
2227
2541
  # }
2228
2542
  #
2229
2543
  # @!attribute [rw] bucket
@@ -2231,10 +2545,17 @@ module Aws::S3
2231
2545
  # configuration.
2232
2546
  # @return [String]
2233
2547
  #
2548
+ # @!attribute [rw] expected_bucket_owner
2549
+ # The account id of the expected bucket owner. If the bucket is owned
2550
+ # by a different account, the request will fail with an HTTP `403
2551
+ # (Access Denied)` error.
2552
+ # @return [String]
2553
+ #
2234
2554
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsiteRequest AWS API Documentation
2235
2555
  #
2236
2556
  class DeleteBucketWebsiteRequest < Struct.new(
2237
- :bucket)
2557
+ :bucket,
2558
+ :expected_bucket_owner)
2238
2559
  SENSITIVE = []
2239
2560
  include Aws::Structure
2240
2561
  end
@@ -2353,6 +2674,7 @@ module Aws::S3
2353
2674
  # version_id: "ObjectVersionId",
2354
2675
  # request_payer: "requester", # accepts requester
2355
2676
  # bypass_governance_retention: false,
2677
+ # expected_bucket_owner: "AccountId",
2356
2678
  # }
2357
2679
  #
2358
2680
  # @!attribute [rw] bucket
@@ -2362,14 +2684,24 @@ module Aws::S3
2362
2684
  # to the access point hostname. The access point hostname takes the
2363
2685
  # form
2364
2686
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2365
- # When using this operation using an access point through the AWS
2366
- # SDKs, you provide the access point ARN in place of the bucket name.
2367
- # For more information about access point ARNs, see [Using Access
2687
+ # When using this operation with an access point through the AWS SDKs,
2688
+ # you provide the access point ARN in place of the bucket name. For
2689
+ # more information about access point ARNs, see [Using Access
2368
2690
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
2369
2691
  #
2692
+ # When using this API with Amazon S3 on Outposts, you must direct
2693
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2694
+ # takes the form
2695
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2696
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2697
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2698
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2699
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2700
+ #
2370
2701
  #
2371
2702
  #
2372
2703
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2704
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2373
2705
  # @return [String]
2374
2706
  #
2375
2707
  # @!attribute [rw] key
@@ -2404,6 +2736,12 @@ module Aws::S3
2404
2736
  # restrictions to process this operation.
2405
2737
  # @return [Boolean]
2406
2738
  #
2739
+ # @!attribute [rw] expected_bucket_owner
2740
+ # The account id of the expected bucket owner. If the bucket is owned
2741
+ # by a different account, the request will fail with an HTTP `403
2742
+ # (Access Denied)` error.
2743
+ # @return [String]
2744
+ #
2407
2745
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectRequest AWS API Documentation
2408
2746
  #
2409
2747
  class DeleteObjectRequest < Struct.new(
@@ -2412,7 +2750,8 @@ module Aws::S3
2412
2750
  :mfa,
2413
2751
  :version_id,
2414
2752
  :request_payer,
2415
- :bypass_governance_retention)
2753
+ :bypass_governance_retention,
2754
+ :expected_bucket_owner)
2416
2755
  SENSITIVE = []
2417
2756
  include Aws::Structure
2418
2757
  end
@@ -2436,6 +2775,7 @@ module Aws::S3
2436
2775
  # bucket: "BucketName", # required
2437
2776
  # key: "ObjectKey", # required
2438
2777
  # version_id: "ObjectVersionId",
2778
+ # expected_bucket_owner: "AccountId",
2439
2779
  # }
2440
2780
  #
2441
2781
  # @!attribute [rw] bucket
@@ -2446,30 +2786,47 @@ module Aws::S3
2446
2786
  # to the access point hostname. The access point hostname takes the
2447
2787
  # form
2448
2788
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2449
- # When using this operation using an access point through the AWS
2450
- # SDKs, you provide the access point ARN in place of the bucket name.
2451
- # For more information about access point ARNs, see [Using Access
2789
+ # When using this operation with an access point through the AWS SDKs,
2790
+ # you provide the access point ARN in place of the bucket name. For
2791
+ # more information about access point ARNs, see [Using Access
2452
2792
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
2453
2793
  #
2794
+ # When using this API with Amazon S3 on Outposts, you must direct
2795
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2796
+ # takes the form
2797
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2798
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2799
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2800
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2801
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2802
+ #
2454
2803
  #
2455
2804
  #
2456
2805
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2806
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2457
2807
  # @return [String]
2458
2808
  #
2459
2809
  # @!attribute [rw] key
2460
- # Name of the tag.
2810
+ # Name of the object key.
2461
2811
  # @return [String]
2462
2812
  #
2463
2813
  # @!attribute [rw] version_id
2464
2814
  # The versionId of the object that the tag-set will be removed from.
2465
2815
  # @return [String]
2466
2816
  #
2817
+ # @!attribute [rw] expected_bucket_owner
2818
+ # The account id of the expected bucket owner. If the bucket is owned
2819
+ # by a different account, the request will fail with an HTTP `403
2820
+ # (Access Denied)` error.
2821
+ # @return [String]
2822
+ #
2467
2823
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTaggingRequest AWS API Documentation
2468
2824
  #
2469
2825
  class DeleteObjectTaggingRequest < Struct.new(
2470
2826
  :bucket,
2471
2827
  :key,
2472
- :version_id)
2828
+ :version_id,
2829
+ :expected_bucket_owner)
2473
2830
  SENSITIVE = []
2474
2831
  include Aws::Structure
2475
2832
  end
@@ -2516,6 +2873,7 @@ module Aws::S3
2516
2873
  # mfa: "MFA",
2517
2874
  # request_payer: "requester", # accepts requester
2518
2875
  # bypass_governance_retention: false,
2876
+ # expected_bucket_owner: "AccountId",
2519
2877
  # }
2520
2878
  #
2521
2879
  # @!attribute [rw] bucket
@@ -2525,14 +2883,24 @@ module Aws::S3
2525
2883
  # to the access point hostname. The access point hostname takes the
2526
2884
  # form
2527
2885
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2528
- # When using this operation using an access point through the AWS
2529
- # SDKs, you provide the access point ARN in place of the bucket name.
2530
- # For more information about access point ARNs, see [Using Access
2886
+ # When using this operation with an access point through the AWS SDKs,
2887
+ # you provide the access point ARN in place of the bucket name. For
2888
+ # more information about access point ARNs, see [Using Access
2531
2889
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
2532
2890
  #
2891
+ # When using this API with Amazon S3 on Outposts, you must direct
2892
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2893
+ # takes the form
2894
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2895
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2896
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2897
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2898
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2899
+ #
2533
2900
  #
2534
2901
  #
2535
2902
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2903
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2536
2904
  # @return [String]
2537
2905
  #
2538
2906
  # @!attribute [rw] delete
@@ -2564,6 +2932,12 @@ module Aws::S3
2564
2932
  # permissions to perform this operation.
2565
2933
  # @return [Boolean]
2566
2934
  #
2935
+ # @!attribute [rw] expected_bucket_owner
2936
+ # The account id of the expected bucket owner. If the bucket is owned
2937
+ # by a different account, the request will fail with an HTTP `403
2938
+ # (Access Denied)` error.
2939
+ # @return [String]
2940
+ #
2567
2941
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectsRequest AWS API Documentation
2568
2942
  #
2569
2943
  class DeleteObjectsRequest < Struct.new(
@@ -2571,7 +2945,8 @@ module Aws::S3
2571
2945
  :delete,
2572
2946
  :mfa,
2573
2947
  :request_payer,
2574
- :bypass_governance_retention)
2948
+ :bypass_governance_retention,
2949
+ :expected_bucket_owner)
2575
2950
  SENSITIVE = []
2576
2951
  include Aws::Structure
2577
2952
  end
@@ -2581,6 +2956,7 @@ module Aws::S3
2581
2956
  #
2582
2957
  # {
2583
2958
  # bucket: "BucketName", # required
2959
+ # expected_bucket_owner: "AccountId",
2584
2960
  # }
2585
2961
  #
2586
2962
  # @!attribute [rw] bucket
@@ -2588,10 +2964,17 @@ module Aws::S3
2588
2964
  # want to delete.
2589
2965
  # @return [String]
2590
2966
  #
2967
+ # @!attribute [rw] expected_bucket_owner
2968
+ # The account id of the expected bucket owner. If the bucket is owned
2969
+ # by a different account, the request will fail with an HTTP `403
2970
+ # (Access Denied)` error.
2971
+ # @return [String]
2972
+ #
2591
2973
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlockRequest AWS API Documentation
2592
2974
  #
2593
2975
  class DeletePublicAccessBlockRequest < Struct.new(
2594
- :bucket)
2976
+ :bucket,
2977
+ :expected_bucket_owner)
2595
2978
  SENSITIVE = []
2596
2979
  include Aws::Structure
2597
2980
  end
@@ -2641,7 +3024,7 @@ module Aws::S3
2641
3024
  # {
2642
3025
  # bucket: "BucketName", # required
2643
3026
  # account: "AccountId",
2644
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
3027
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
2645
3028
  # access_control_translation: {
2646
3029
  # owner: "Destination", # required, accepts Destination
2647
3030
  # },
@@ -3750,17 +4133,25 @@ module Aws::S3
3750
4133
  #
3751
4134
  # {
3752
4135
  # bucket: "BucketName", # required
4136
+ # expected_bucket_owner: "AccountId",
3753
4137
  # }
3754
4138
  #
3755
4139
  # @!attribute [rw] bucket
3756
- # Name of the bucket for which the accelerate configuration is
4140
+ # The name of the bucket for which the accelerate configuration is
3757
4141
  # retrieved.
3758
4142
  # @return [String]
3759
4143
  #
4144
+ # @!attribute [rw] expected_bucket_owner
4145
+ # The account id of the expected bucket owner. If the bucket is owned
4146
+ # by a different account, the request will fail with an HTTP `403
4147
+ # (Access Denied)` error.
4148
+ # @return [String]
4149
+ #
3760
4150
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfigurationRequest AWS API Documentation
3761
4151
  #
3762
4152
  class GetBucketAccelerateConfigurationRequest < Struct.new(
3763
- :bucket)
4153
+ :bucket,
4154
+ :expected_bucket_owner)
3764
4155
  SENSITIVE = []
3765
4156
  include Aws::Structure
3766
4157
  end
@@ -3787,16 +4178,24 @@ module Aws::S3
3787
4178
  #
3788
4179
  # {
3789
4180
  # bucket: "BucketName", # required
4181
+ # expected_bucket_owner: "AccountId",
3790
4182
  # }
3791
4183
  #
3792
4184
  # @!attribute [rw] bucket
3793
4185
  # Specifies the S3 bucket whose ACL is being requested.
3794
4186
  # @return [String]
3795
4187
  #
4188
+ # @!attribute [rw] expected_bucket_owner
4189
+ # The account id of the expected bucket owner. If the bucket is owned
4190
+ # by a different account, the request will fail with an HTTP `403
4191
+ # (Access Denied)` error.
4192
+ # @return [String]
4193
+ #
3796
4194
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAclRequest AWS API Documentation
3797
4195
  #
3798
4196
  class GetBucketAclRequest < Struct.new(
3799
- :bucket)
4197
+ :bucket,
4198
+ :expected_bucket_owner)
3800
4199
  SENSITIVE = []
3801
4200
  include Aws::Structure
3802
4201
  end
@@ -3819,6 +4218,7 @@ module Aws::S3
3819
4218
  # {
3820
4219
  # bucket: "BucketName", # required
3821
4220
  # id: "AnalyticsId", # required
4221
+ # expected_bucket_owner: "AccountId",
3822
4222
  # }
3823
4223
  #
3824
4224
  # @!attribute [rw] bucket
@@ -3830,11 +4230,18 @@ module Aws::S3
3830
4230
  # The ID that identifies the analytics configuration.
3831
4231
  # @return [String]
3832
4232
  #
4233
+ # @!attribute [rw] expected_bucket_owner
4234
+ # The account id of the expected bucket owner. If the bucket is owned
4235
+ # by a different account, the request will fail with an HTTP `403
4236
+ # (Access Denied)` error.
4237
+ # @return [String]
4238
+ #
3833
4239
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfigurationRequest AWS API Documentation
3834
4240
  #
3835
4241
  class GetBucketAnalyticsConfigurationRequest < Struct.new(
3836
4242
  :bucket,
3837
- :id)
4243
+ :id,
4244
+ :expected_bucket_owner)
3838
4245
  SENSITIVE = []
3839
4246
  include Aws::Structure
3840
4247
  end
@@ -3857,16 +4264,24 @@ module Aws::S3
3857
4264
  #
3858
4265
  # {
3859
4266
  # bucket: "BucketName", # required
4267
+ # expected_bucket_owner: "AccountId",
3860
4268
  # }
3861
4269
  #
3862
4270
  # @!attribute [rw] bucket
3863
4271
  # The bucket name for which to get the cors configuration.
3864
4272
  # @return [String]
3865
4273
  #
4274
+ # @!attribute [rw] expected_bucket_owner
4275
+ # The account id of the expected bucket owner. If the bucket is owned
4276
+ # by a different account, the request will fail with an HTTP `403
4277
+ # (Access Denied)` error.
4278
+ # @return [String]
4279
+ #
3866
4280
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCorsRequest AWS API Documentation
3867
4281
  #
3868
4282
  class GetBucketCorsRequest < Struct.new(
3869
- :bucket)
4283
+ :bucket,
4284
+ :expected_bucket_owner)
3870
4285
  SENSITIVE = []
3871
4286
  include Aws::Structure
3872
4287
  end
@@ -3888,6 +4303,7 @@ module Aws::S3
3888
4303
  #
3889
4304
  # {
3890
4305
  # bucket: "BucketName", # required
4306
+ # expected_bucket_owner: "AccountId",
3891
4307
  # }
3892
4308
  #
3893
4309
  # @!attribute [rw] bucket
@@ -3895,10 +4311,17 @@ module Aws::S3
3895
4311
  # configuration is retrieved.
3896
4312
  # @return [String]
3897
4313
  #
4314
+ # @!attribute [rw] expected_bucket_owner
4315
+ # The account id of the expected bucket owner. If the bucket is owned
4316
+ # by a different account, the request will fail with an HTTP `403
4317
+ # (Access Denied)` error.
4318
+ # @return [String]
4319
+ #
3898
4320
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryptionRequest AWS API Documentation
3899
4321
  #
3900
4322
  class GetBucketEncryptionRequest < Struct.new(
3901
- :bucket)
4323
+ :bucket,
4324
+ :expected_bucket_owner)
3902
4325
  SENSITIVE = []
3903
4326
  include Aws::Structure
3904
4327
  end
@@ -3921,6 +4344,7 @@ module Aws::S3
3921
4344
  # {
3922
4345
  # bucket: "BucketName", # required
3923
4346
  # id: "InventoryId", # required
4347
+ # expected_bucket_owner: "AccountId",
3924
4348
  # }
3925
4349
  #
3926
4350
  # @!attribute [rw] bucket
@@ -3932,11 +4356,18 @@ module Aws::S3
3932
4356
  # The ID used to identify the inventory configuration.
3933
4357
  # @return [String]
3934
4358
  #
4359
+ # @!attribute [rw] expected_bucket_owner
4360
+ # The account id of the expected bucket owner. If the bucket is owned
4361
+ # by a different account, the request will fail with an HTTP `403
4362
+ # (Access Denied)` error.
4363
+ # @return [String]
4364
+ #
3935
4365
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfigurationRequest AWS API Documentation
3936
4366
  #
3937
4367
  class GetBucketInventoryConfigurationRequest < Struct.new(
3938
4368
  :bucket,
3939
- :id)
4369
+ :id,
4370
+ :expected_bucket_owner)
3940
4371
  SENSITIVE = []
3941
4372
  include Aws::Structure
3942
4373
  end
@@ -3958,16 +4389,24 @@ module Aws::S3
3958
4389
  #
3959
4390
  # {
3960
4391
  # bucket: "BucketName", # required
4392
+ # expected_bucket_owner: "AccountId",
3961
4393
  # }
3962
4394
  #
3963
4395
  # @!attribute [rw] bucket
3964
4396
  # The name of the bucket for which to get the lifecycle information.
3965
4397
  # @return [String]
3966
4398
  #
4399
+ # @!attribute [rw] expected_bucket_owner
4400
+ # The account id of the expected bucket owner. If the bucket is owned
4401
+ # by a different account, the request will fail with an HTTP `403
4402
+ # (Access Denied)` error.
4403
+ # @return [String]
4404
+ #
3967
4405
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfigurationRequest AWS API Documentation
3968
4406
  #
3969
4407
  class GetBucketLifecycleConfigurationRequest < Struct.new(
3970
- :bucket)
4408
+ :bucket,
4409
+ :expected_bucket_owner)
3971
4410
  SENSITIVE = []
3972
4411
  include Aws::Structure
3973
4412
  end
@@ -3989,16 +4428,24 @@ module Aws::S3
3989
4428
  #
3990
4429
  # {
3991
4430
  # bucket: "BucketName", # required
4431
+ # expected_bucket_owner: "AccountId",
3992
4432
  # }
3993
4433
  #
3994
4434
  # @!attribute [rw] bucket
3995
4435
  # The name of the bucket for which to get the lifecycle information.
3996
4436
  # @return [String]
3997
4437
  #
4438
+ # @!attribute [rw] expected_bucket_owner
4439
+ # The account id of the expected bucket owner. If the bucket is owned
4440
+ # by a different account, the request will fail with an HTTP `403
4441
+ # (Access Denied)` error.
4442
+ # @return [String]
4443
+ #
3998
4444
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleRequest AWS API Documentation
3999
4445
  #
4000
4446
  class GetBucketLifecycleRequest < Struct.new(
4001
- :bucket)
4447
+ :bucket,
4448
+ :expected_bucket_owner)
4002
4449
  SENSITIVE = []
4003
4450
  include Aws::Structure
4004
4451
  end
@@ -4027,16 +4474,24 @@ module Aws::S3
4027
4474
  #
4028
4475
  # {
4029
4476
  # bucket: "BucketName", # required
4477
+ # expected_bucket_owner: "AccountId",
4030
4478
  # }
4031
4479
  #
4032
4480
  # @!attribute [rw] bucket
4033
4481
  # The name of the bucket for which to get the location.
4034
4482
  # @return [String]
4035
4483
  #
4484
+ # @!attribute [rw] expected_bucket_owner
4485
+ # The account id of the expected bucket owner. If the bucket is owned
4486
+ # by a different account, the request will fail with an HTTP `403
4487
+ # (Access Denied)` error.
4488
+ # @return [String]
4489
+ #
4036
4490
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocationRequest AWS API Documentation
4037
4491
  #
4038
4492
  class GetBucketLocationRequest < Struct.new(
4039
- :bucket)
4493
+ :bucket,
4494
+ :expected_bucket_owner)
4040
4495
  SENSITIVE = []
4041
4496
  include Aws::Structure
4042
4497
  end
@@ -4065,16 +4520,24 @@ module Aws::S3
4065
4520
  #
4066
4521
  # {
4067
4522
  # bucket: "BucketName", # required
4523
+ # expected_bucket_owner: "AccountId",
4068
4524
  # }
4069
4525
  #
4070
4526
  # @!attribute [rw] bucket
4071
4527
  # The bucket name for which to get the logging information.
4072
4528
  # @return [String]
4073
4529
  #
4530
+ # @!attribute [rw] expected_bucket_owner
4531
+ # The account id of the expected bucket owner. If the bucket is owned
4532
+ # by a different account, the request will fail with an HTTP `403
4533
+ # (Access Denied)` error.
4534
+ # @return [String]
4535
+ #
4074
4536
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLoggingRequest AWS API Documentation
4075
4537
  #
4076
4538
  class GetBucketLoggingRequest < Struct.new(
4077
- :bucket)
4539
+ :bucket,
4540
+ :expected_bucket_owner)
4078
4541
  SENSITIVE = []
4079
4542
  include Aws::Structure
4080
4543
  end
@@ -4097,6 +4560,7 @@ module Aws::S3
4097
4560
  # {
4098
4561
  # bucket: "BucketName", # required
4099
4562
  # id: "MetricsId", # required
4563
+ # expected_bucket_owner: "AccountId",
4100
4564
  # }
4101
4565
  #
4102
4566
  # @!attribute [rw] bucket
@@ -4108,11 +4572,18 @@ module Aws::S3
4108
4572
  # The ID used to identify the metrics configuration.
4109
4573
  # @return [String]
4110
4574
  #
4575
+ # @!attribute [rw] expected_bucket_owner
4576
+ # The account id of the expected bucket owner. If the bucket is owned
4577
+ # by a different account, the request will fail with an HTTP `403
4578
+ # (Access Denied)` error.
4579
+ # @return [String]
4580
+ #
4111
4581
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfigurationRequest AWS API Documentation
4112
4582
  #
4113
4583
  class GetBucketMetricsConfigurationRequest < Struct.new(
4114
4584
  :bucket,
4115
- :id)
4585
+ :id,
4586
+ :expected_bucket_owner)
4116
4587
  SENSITIVE = []
4117
4588
  include Aws::Structure
4118
4589
  end
@@ -4122,16 +4593,63 @@ module Aws::S3
4122
4593
  #
4123
4594
  # {
4124
4595
  # bucket: "BucketName", # required
4596
+ # expected_bucket_owner: "AccountId",
4125
4597
  # }
4126
4598
  #
4127
4599
  # @!attribute [rw] bucket
4128
- # Name of the bucket for which to get the notification configuration.
4600
+ # The name of the bucket for which to get the notification
4601
+ # configuration.
4602
+ # @return [String]
4603
+ #
4604
+ # @!attribute [rw] expected_bucket_owner
4605
+ # The account id of the expected bucket owner. If the bucket is owned
4606
+ # by a different account, the request will fail with an HTTP `403
4607
+ # (Access Denied)` error.
4129
4608
  # @return [String]
4130
4609
  #
4131
4610
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfigurationRequest AWS API Documentation
4132
4611
  #
4133
4612
  class GetBucketNotificationConfigurationRequest < Struct.new(
4134
- :bucket)
4613
+ :bucket,
4614
+ :expected_bucket_owner)
4615
+ SENSITIVE = []
4616
+ include Aws::Structure
4617
+ end
4618
+
4619
+ # @!attribute [rw] ownership_controls
4620
+ # The `OwnershipControls` (BucketOwnerPreferred or ObjectWriter)
4621
+ # currently in effect for this Amazon S3 bucket.
4622
+ # @return [Types::OwnershipControls]
4623
+ #
4624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControlsOutput AWS API Documentation
4625
+ #
4626
+ class GetBucketOwnershipControlsOutput < Struct.new(
4627
+ :ownership_controls)
4628
+ SENSITIVE = []
4629
+ include Aws::Structure
4630
+ end
4631
+
4632
+ # @note When making an API call, you may pass GetBucketOwnershipControlsRequest
4633
+ # data as a hash:
4634
+ #
4635
+ # {
4636
+ # bucket: "BucketName", # required
4637
+ # expected_bucket_owner: "AccountId",
4638
+ # }
4639
+ #
4640
+ # @!attribute [rw] bucket
4641
+ # The name of the Amazon S3 bucket whose `OwnershipControls` you want
4642
+ # to retrieve.
4643
+ # @return [String]
4644
+ #
4645
+ # @!attribute [rw] expected_bucket_owner
4646
+ # @return [String]
4647
+ #
4648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControlsRequest AWS API Documentation
4649
+ #
4650
+ class GetBucketOwnershipControlsRequest < Struct.new(
4651
+ :bucket,
4652
+ :expected_bucket_owner)
4135
4653
  SENSITIVE = []
4136
4654
  include Aws::Structure
4137
4655
  end
@@ -4153,16 +4671,24 @@ module Aws::S3
4153
4671
  #
4154
4672
  # {
4155
4673
  # bucket: "BucketName", # required
4674
+ # expected_bucket_owner: "AccountId",
4156
4675
  # }
4157
4676
  #
4158
4677
  # @!attribute [rw] bucket
4159
4678
  # The bucket name for which to get the bucket policy.
4160
4679
  # @return [String]
4161
4680
  #
4681
+ # @!attribute [rw] expected_bucket_owner
4682
+ # The account id of the expected bucket owner. If the bucket is owned
4683
+ # by a different account, the request will fail with an HTTP `403
4684
+ # (Access Denied)` error.
4685
+ # @return [String]
4686
+ #
4162
4687
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyRequest AWS API Documentation
4163
4688
  #
4164
4689
  class GetBucketPolicyRequest < Struct.new(
4165
- :bucket)
4690
+ :bucket,
4691
+ :expected_bucket_owner)
4166
4692
  SENSITIVE = []
4167
4693
  include Aws::Structure
4168
4694
  end
@@ -4184,6 +4710,7 @@ module Aws::S3
4184
4710
  #
4185
4711
  # {
4186
4712
  # bucket: "BucketName", # required
4713
+ # expected_bucket_owner: "AccountId",
4187
4714
  # }
4188
4715
  #
4189
4716
  # @!attribute [rw] bucket
@@ -4191,10 +4718,17 @@ module Aws::S3
4191
4718
  # retrieve.
4192
4719
  # @return [String]
4193
4720
  #
4721
+ # @!attribute [rw] expected_bucket_owner
4722
+ # The account id of the expected bucket owner. If the bucket is owned
4723
+ # by a different account, the request will fail with an HTTP `403
4724
+ # (Access Denied)` error.
4725
+ # @return [String]
4726
+ #
4194
4727
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatusRequest AWS API Documentation
4195
4728
  #
4196
4729
  class GetBucketPolicyStatusRequest < Struct.new(
4197
- :bucket)
4730
+ :bucket,
4731
+ :expected_bucket_owner)
4198
4732
  SENSITIVE = []
4199
4733
  include Aws::Structure
4200
4734
  end
@@ -4217,16 +4751,24 @@ module Aws::S3
4217
4751
  #
4218
4752
  # {
4219
4753
  # bucket: "BucketName", # required
4754
+ # expected_bucket_owner: "AccountId",
4220
4755
  # }
4221
4756
  #
4222
4757
  # @!attribute [rw] bucket
4223
4758
  # The bucket name for which to get the replication information.
4224
4759
  # @return [String]
4225
4760
  #
4761
+ # @!attribute [rw] expected_bucket_owner
4762
+ # The account id of the expected bucket owner. If the bucket is owned
4763
+ # by a different account, the request will fail with an HTTP `403
4764
+ # (Access Denied)` error.
4765
+ # @return [String]
4766
+ #
4226
4767
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplicationRequest AWS API Documentation
4227
4768
  #
4228
4769
  class GetBucketReplicationRequest < Struct.new(
4229
- :bucket)
4770
+ :bucket,
4771
+ :expected_bucket_owner)
4230
4772
  SENSITIVE = []
4231
4773
  include Aws::Structure
4232
4774
  end
@@ -4248,6 +4790,7 @@ module Aws::S3
4248
4790
  #
4249
4791
  # {
4250
4792
  # bucket: "BucketName", # required
4793
+ # expected_bucket_owner: "AccountId",
4251
4794
  # }
4252
4795
  #
4253
4796
  # @!attribute [rw] bucket
@@ -4255,10 +4798,17 @@ module Aws::S3
4255
4798
  # configuration
4256
4799
  # @return [String]
4257
4800
  #
4801
+ # @!attribute [rw] expected_bucket_owner
4802
+ # The account id of the expected bucket owner. If the bucket is owned
4803
+ # by a different account, the request will fail with an HTTP `403
4804
+ # (Access Denied)` error.
4805
+ # @return [String]
4806
+ #
4258
4807
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPaymentRequest AWS API Documentation
4259
4808
  #
4260
4809
  class GetBucketRequestPaymentRequest < Struct.new(
4261
- :bucket)
4810
+ :bucket,
4811
+ :expected_bucket_owner)
4262
4812
  SENSITIVE = []
4263
4813
  include Aws::Structure
4264
4814
  end
@@ -4280,16 +4830,24 @@ module Aws::S3
4280
4830
  #
4281
4831
  # {
4282
4832
  # bucket: "BucketName", # required
4833
+ # expected_bucket_owner: "AccountId",
4283
4834
  # }
4284
4835
  #
4285
4836
  # @!attribute [rw] bucket
4286
4837
  # The name of the bucket for which to get the tagging information.
4287
4838
  # @return [String]
4288
4839
  #
4840
+ # @!attribute [rw] expected_bucket_owner
4841
+ # The account id of the expected bucket owner. If the bucket is owned
4842
+ # by a different account, the request will fail with an HTTP `403
4843
+ # (Access Denied)` error.
4844
+ # @return [String]
4845
+ #
4289
4846
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTaggingRequest AWS API Documentation
4290
4847
  #
4291
4848
  class GetBucketTaggingRequest < Struct.new(
4292
- :bucket)
4849
+ :bucket,
4850
+ :expected_bucket_owner)
4293
4851
  SENSITIVE = []
4294
4852
  include Aws::Structure
4295
4853
  end
@@ -4319,16 +4877,24 @@ module Aws::S3
4319
4877
  #
4320
4878
  # {
4321
4879
  # bucket: "BucketName", # required
4880
+ # expected_bucket_owner: "AccountId",
4322
4881
  # }
4323
4882
  #
4324
4883
  # @!attribute [rw] bucket
4325
4884
  # The name of the bucket for which to get the versioning information.
4326
4885
  # @return [String]
4327
4886
  #
4887
+ # @!attribute [rw] expected_bucket_owner
4888
+ # The account id of the expected bucket owner. If the bucket is owned
4889
+ # by a different account, the request will fail with an HTTP `403
4890
+ # (Access Denied)` error.
4891
+ # @return [String]
4892
+ #
4328
4893
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioningRequest AWS API Documentation
4329
4894
  #
4330
4895
  class GetBucketVersioningRequest < Struct.new(
4331
- :bucket)
4896
+ :bucket,
4897
+ :expected_bucket_owner)
4332
4898
  SENSITIVE = []
4333
4899
  include Aws::Structure
4334
4900
  end
@@ -4369,16 +4935,24 @@ module Aws::S3
4369
4935
  #
4370
4936
  # {
4371
4937
  # bucket: "BucketName", # required
4938
+ # expected_bucket_owner: "AccountId",
4372
4939
  # }
4373
4940
  #
4374
4941
  # @!attribute [rw] bucket
4375
4942
  # The bucket name for which to get the website configuration.
4376
4943
  # @return [String]
4377
4944
  #
4945
+ # @!attribute [rw] expected_bucket_owner
4946
+ # The account id of the expected bucket owner. If the bucket is owned
4947
+ # by a different account, the request will fail with an HTTP `403
4948
+ # (Access Denied)` error.
4949
+ # @return [String]
4950
+ #
4378
4951
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsiteRequest AWS API Documentation
4379
4952
  #
4380
4953
  class GetBucketWebsiteRequest < Struct.new(
4381
- :bucket)
4954
+ :bucket,
4955
+ :expected_bucket_owner)
4382
4956
  SENSITIVE = []
4383
4957
  include Aws::Structure
4384
4958
  end
@@ -4414,6 +4988,7 @@ module Aws::S3
4414
4988
  # key: "ObjectKey", # required
4415
4989
  # version_id: "ObjectVersionId",
4416
4990
  # request_payer: "requester", # accepts requester
4991
+ # expected_bucket_owner: "AccountId",
4417
4992
  # }
4418
4993
  #
4419
4994
  # @!attribute [rw] bucket
@@ -4424,9 +4999,9 @@ module Aws::S3
4424
4999
  # to the access point hostname. The access point hostname takes the
4425
5000
  # form
4426
5001
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4427
- # When using this operation using an access point through the AWS
4428
- # SDKs, you provide the access point ARN in place of the bucket name.
4429
- # For more information about access point ARNs, see [Using Access
5002
+ # When using this operation with an access point through the AWS SDKs,
5003
+ # you provide the access point ARN in place of the bucket name. For
5004
+ # more information about access point ARNs, see [Using Access
4430
5005
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
4431
5006
  #
4432
5007
  #
@@ -4454,13 +5029,20 @@ module Aws::S3
4454
5029
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
4455
5030
  # @return [String]
4456
5031
  #
5032
+ # @!attribute [rw] expected_bucket_owner
5033
+ # The account id of the expected bucket owner. If the bucket is owned
5034
+ # by a different account, the request will fail with an HTTP `403
5035
+ # (Access Denied)` error.
5036
+ # @return [String]
5037
+ #
4457
5038
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAclRequest AWS API Documentation
4458
5039
  #
4459
5040
  class GetObjectAclRequest < Struct.new(
4460
5041
  :bucket,
4461
5042
  :key,
4462
5043
  :version_id,
4463
- :request_payer)
5044
+ :request_payer,
5045
+ :expected_bucket_owner)
4464
5046
  SENSITIVE = []
4465
5047
  include Aws::Structure
4466
5048
  end
@@ -4485,6 +5067,7 @@ module Aws::S3
4485
5067
  # key: "ObjectKey", # required
4486
5068
  # version_id: "ObjectVersionId",
4487
5069
  # request_payer: "requester", # accepts requester
5070
+ # expected_bucket_owner: "AccountId",
4488
5071
  # }
4489
5072
  #
4490
5073
  # @!attribute [rw] bucket
@@ -4495,9 +5078,9 @@ module Aws::S3
4495
5078
  # to the access point hostname. The access point hostname takes the
4496
5079
  # form
4497
5080
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4498
- # When using this operation using an access point through the AWS
4499
- # SDKs, you provide the access point ARN in place of the bucket name.
4500
- # For more information about access point ARNs, see [Using Access
5081
+ # When using this operation with an access point through the AWS SDKs,
5082
+ # you provide the access point ARN in place of the bucket name. For
5083
+ # more information about access point ARNs, see [Using Access
4501
5084
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
4502
5085
  #
4503
5086
  #
@@ -4527,13 +5110,20 @@ module Aws::S3
4527
5110
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
4528
5111
  # @return [String]
4529
5112
  #
5113
+ # @!attribute [rw] expected_bucket_owner
5114
+ # The account id of the expected bucket owner. If the bucket is owned
5115
+ # by a different account, the request will fail with an HTTP `403
5116
+ # (Access Denied)` error.
5117
+ # @return [String]
5118
+ #
4530
5119
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHoldRequest AWS API Documentation
4531
5120
  #
4532
5121
  class GetObjectLegalHoldRequest < Struct.new(
4533
5122
  :bucket,
4534
5123
  :key,
4535
5124
  :version_id,
4536
- :request_payer)
5125
+ :request_payer,
5126
+ :expected_bucket_owner)
4537
5127
  SENSITIVE = []
4538
5128
  include Aws::Structure
4539
5129
  end
@@ -4555,16 +5145,37 @@ module Aws::S3
4555
5145
  #
4556
5146
  # {
4557
5147
  # bucket: "BucketName", # required
5148
+ # expected_bucket_owner: "AccountId",
4558
5149
  # }
4559
5150
  #
4560
5151
  # @!attribute [rw] bucket
4561
5152
  # The bucket whose Object Lock configuration you want to retrieve.
5153
+ #
5154
+ # When using this API with an access point, you must direct requests
5155
+ # to the access point hostname. The access point hostname takes the
5156
+ # form
5157
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5158
+ # When using this operation with an access point through the AWS SDKs,
5159
+ # you provide the access point ARN in place of the bucket name. For
5160
+ # more information about access point ARNs, see [Using Access
5161
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
5162
+ #
5163
+ #
5164
+ #
5165
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5166
+ # @return [String]
5167
+ #
5168
+ # @!attribute [rw] expected_bucket_owner
5169
+ # The account id of the expected bucket owner. If the bucket is owned
5170
+ # by a different account, the request will fail with an HTTP `403
5171
+ # (Access Denied)` error.
4562
5172
  # @return [String]
4563
5173
  #
4564
5174
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfigurationRequest AWS API Documentation
4565
5175
  #
4566
5176
  class GetObjectLockConfigurationRequest < Struct.new(
4567
- :bucket)
5177
+ :bucket,
5178
+ :expected_bucket_owner)
4568
5179
  SENSITIVE = []
4569
5180
  include Aws::Structure
4570
5181
  end
@@ -4788,6 +5399,7 @@ module Aws::S3
4788
5399
  # sse_customer_key_md5: "SSECustomerKeyMD5",
4789
5400
  # request_payer: "requester", # accepts requester
4790
5401
  # part_number: 1,
5402
+ # expected_bucket_owner: "AccountId",
4791
5403
  # }
4792
5404
  #
4793
5405
  # @!attribute [rw] bucket
@@ -4797,14 +5409,24 @@ module Aws::S3
4797
5409
  # to the access point hostname. The access point hostname takes the
4798
5410
  # form
4799
5411
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4800
- # When using this operation using an access point through the AWS
4801
- # SDKs, you provide the access point ARN in place of the bucket name.
4802
- # For more information about access point ARNs, see [Using Access
5412
+ # When using this operation with an access point through the AWS SDKs,
5413
+ # you provide the access point ARN in place of the bucket name. For
5414
+ # more information about access point ARNs, see [Using Access
4803
5415
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
4804
5416
  #
5417
+ # When using this API with Amazon S3 on Outposts, you must direct
5418
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5419
+ # takes the form
5420
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5421
+ # When using this operation using S3 on Outposts through the AWS SDKs,
5422
+ # you provide the Outposts bucket ARN in place of the bucket name. For
5423
+ # more information about S3 on Outposts ARNs, see [Using S3 on
5424
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
5425
+ #
4805
5426
  #
4806
5427
  #
4807
5428
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5429
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
4808
5430
  # @return [String]
4809
5431
  #
4810
5432
  # @!attribute [rw] if_match
@@ -4884,7 +5506,7 @@ module Aws::S3
4884
5506
  # in encrypting data. This value is used to store the object and then
4885
5507
  # it is discarded; Amazon S3 does not store the encryption key. The
4886
5508
  # key must be appropriate for use with the algorithm specified in the
4887
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
5509
+ # `x-amz-server-side-encryption-customer-algorithm` header.
4888
5510
  # @return [String]
4889
5511
  #
4890
5512
  # @!attribute [rw] sse_customer_key_md5
@@ -4912,6 +5534,12 @@ module Aws::S3
4912
5534
  # object.
4913
5535
  # @return [Integer]
4914
5536
  #
5537
+ # @!attribute [rw] expected_bucket_owner
5538
+ # The account id of the expected bucket owner. If the bucket is owned
5539
+ # by a different account, the request will fail with an HTTP `403
5540
+ # (Access Denied)` error.
5541
+ # @return [String]
5542
+ #
4915
5543
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRequest AWS API Documentation
4916
5544
  #
4917
5545
  class GetObjectRequest < Struct.new(
@@ -4933,7 +5561,8 @@ module Aws::S3
4933
5561
  :sse_customer_key,
4934
5562
  :sse_customer_key_md5,
4935
5563
  :request_payer,
4936
- :part_number)
5564
+ :part_number,
5565
+ :expected_bucket_owner)
4937
5566
  SENSITIVE = [:sse_customer_key]
4938
5567
  include Aws::Structure
4939
5568
  end
@@ -4958,6 +5587,7 @@ module Aws::S3
4958
5587
  # key: "ObjectKey", # required
4959
5588
  # version_id: "ObjectVersionId",
4960
5589
  # request_payer: "requester", # accepts requester
5590
+ # expected_bucket_owner: "AccountId",
4961
5591
  # }
4962
5592
  #
4963
5593
  # @!attribute [rw] bucket
@@ -4968,9 +5598,9 @@ module Aws::S3
4968
5598
  # to the access point hostname. The access point hostname takes the
4969
5599
  # form
4970
5600
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4971
- # When using this operation using an access point through the AWS
4972
- # SDKs, you provide the access point ARN in place of the bucket name.
4973
- # For more information about access point ARNs, see [Using Access
5601
+ # When using this operation with an access point through the AWS SDKs,
5602
+ # you provide the access point ARN in place of the bucket name. For
5603
+ # more information about access point ARNs, see [Using Access
4974
5604
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
4975
5605
  #
4976
5606
  #
@@ -5000,13 +5630,20 @@ module Aws::S3
5000
5630
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
5001
5631
  # @return [String]
5002
5632
  #
5633
+ # @!attribute [rw] expected_bucket_owner
5634
+ # The account id of the expected bucket owner. If the bucket is owned
5635
+ # by a different account, the request will fail with an HTTP `403
5636
+ # (Access Denied)` error.
5637
+ # @return [String]
5638
+ #
5003
5639
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetentionRequest AWS API Documentation
5004
5640
  #
5005
5641
  class GetObjectRetentionRequest < Struct.new(
5006
5642
  :bucket,
5007
5643
  :key,
5008
5644
  :version_id,
5009
- :request_payer)
5645
+ :request_payer,
5646
+ :expected_bucket_owner)
5010
5647
  SENSITIVE = []
5011
5648
  include Aws::Structure
5012
5649
  end
@@ -5036,6 +5673,7 @@ module Aws::S3
5036
5673
  # bucket: "BucketName", # required
5037
5674
  # key: "ObjectKey", # required
5038
5675
  # version_id: "ObjectVersionId",
5676
+ # expected_bucket_owner: "AccountId",
5039
5677
  # }
5040
5678
  #
5041
5679
  # @!attribute [rw] bucket
@@ -5046,14 +5684,24 @@ module Aws::S3
5046
5684
  # to the access point hostname. The access point hostname takes the
5047
5685
  # form
5048
5686
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5049
- # When using this operation using an access point through the AWS
5050
- # SDKs, you provide the access point ARN in place of the bucket name.
5051
- # For more information about access point ARNs, see [Using Access
5687
+ # When using this operation with an access point through the AWS SDKs,
5688
+ # you provide the access point ARN in place of the bucket name. For
5689
+ # more information about access point ARNs, see [Using Access
5052
5690
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
5053
5691
  #
5692
+ # When using this API with Amazon S3 on Outposts, you must direct
5693
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5694
+ # takes the form
5695
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5696
+ # When using this operation using S3 on Outposts through the AWS SDKs,
5697
+ # you provide the Outposts bucket ARN in place of the bucket name. For
5698
+ # more information about S3 on Outposts ARNs, see [Using S3 on
5699
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
5700
+ #
5054
5701
  #
5055
5702
  #
5056
5703
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5704
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
5057
5705
  # @return [String]
5058
5706
  #
5059
5707
  # @!attribute [rw] key
@@ -5065,12 +5713,19 @@ module Aws::S3
5065
5713
  # information.
5066
5714
  # @return [String]
5067
5715
  #
5716
+ # @!attribute [rw] expected_bucket_owner
5717
+ # The account id of the expected bucket owner. If the bucket is owned
5718
+ # by a different account, the request will fail with an HTTP `403
5719
+ # (Access Denied)` error.
5720
+ # @return [String]
5721
+ #
5068
5722
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTaggingRequest AWS API Documentation
5069
5723
  #
5070
5724
  class GetObjectTaggingRequest < Struct.new(
5071
5725
  :bucket,
5072
5726
  :key,
5073
- :version_id)
5727
+ :version_id,
5728
+ :expected_bucket_owner)
5074
5729
  SENSITIVE = []
5075
5730
  include Aws::Structure
5076
5731
  end
@@ -5100,6 +5755,7 @@ module Aws::S3
5100
5755
  # bucket: "BucketName", # required
5101
5756
  # key: "ObjectKey", # required
5102
5757
  # request_payer: "requester", # accepts requester
5758
+ # expected_bucket_owner: "AccountId",
5103
5759
  # }
5104
5760
  #
5105
5761
  # @!attribute [rw] bucket
@@ -5123,12 +5779,19 @@ module Aws::S3
5123
5779
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
5124
5780
  # @return [String]
5125
5781
  #
5782
+ # @!attribute [rw] expected_bucket_owner
5783
+ # The account id of the expected bucket owner. If the bucket is owned
5784
+ # by a different account, the request will fail with an HTTP `403
5785
+ # (Access Denied)` error.
5786
+ # @return [String]
5787
+ #
5126
5788
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrentRequest AWS API Documentation
5127
5789
  #
5128
5790
  class GetObjectTorrentRequest < Struct.new(
5129
5791
  :bucket,
5130
5792
  :key,
5131
- :request_payer)
5793
+ :request_payer,
5794
+ :expected_bucket_owner)
5132
5795
  SENSITIVE = []
5133
5796
  include Aws::Structure
5134
5797
  end
@@ -5151,6 +5814,7 @@ module Aws::S3
5151
5814
  #
5152
5815
  # {
5153
5816
  # bucket: "BucketName", # required
5817
+ # expected_bucket_owner: "AccountId",
5154
5818
  # }
5155
5819
  #
5156
5820
  # @!attribute [rw] bucket
@@ -5158,10 +5822,17 @@ module Aws::S3
5158
5822
  # configuration you want to retrieve.
5159
5823
  # @return [String]
5160
5824
  #
5825
+ # @!attribute [rw] expected_bucket_owner
5826
+ # The account id of the expected bucket owner. If the bucket is owned
5827
+ # by a different account, the request will fail with an HTTP `403
5828
+ # (Access Denied)` error.
5829
+ # @return [String]
5830
+ #
5161
5831
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlockRequest AWS API Documentation
5162
5832
  #
5163
5833
  class GetPublicAccessBlockRequest < Struct.new(
5164
- :bucket)
5834
+ :bucket,
5835
+ :expected_bucket_owner)
5165
5836
  SENSITIVE = []
5166
5837
  include Aws::Structure
5167
5838
  end
@@ -5298,16 +5969,47 @@ module Aws::S3
5298
5969
  #
5299
5970
  # {
5300
5971
  # bucket: "BucketName", # required
5972
+ # expected_bucket_owner: "AccountId",
5301
5973
  # }
5302
5974
  #
5303
5975
  # @!attribute [rw] bucket
5304
5976
  # The bucket name.
5977
+ #
5978
+ # When using this API with an access point, you must direct requests
5979
+ # to the access point hostname. The access point hostname takes the
5980
+ # form
5981
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5982
+ # When using this operation with an access point through the AWS SDKs,
5983
+ # you provide the access point ARN in place of the bucket name. For
5984
+ # more information about access point ARNs, see [Using Access
5985
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
5986
+ #
5987
+ # When using this API with Amazon S3 on Outposts, you must direct
5988
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5989
+ # takes the form
5990
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5991
+ # When using this operation using S3 on Outposts through the AWS SDKs,
5992
+ # you provide the Outposts bucket ARN in place of the bucket name. For
5993
+ # more information about S3 on Outposts ARNs, see [Using S3 on
5994
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
5995
+ #
5996
+ #
5997
+ #
5998
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5999
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
6000
+ # @return [String]
6001
+ #
6002
+ # @!attribute [rw] expected_bucket_owner
6003
+ # The account id of the expected bucket owner. If the bucket is owned
6004
+ # by a different account, the request will fail with an HTTP `403
6005
+ # (Access Denied)` error.
5305
6006
  # @return [String]
5306
6007
  #
5307
6008
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucketRequest AWS API Documentation
5308
6009
  #
5309
6010
  class HeadBucketRequest < Struct.new(
5310
- :bucket)
6011
+ :bucket,
6012
+ :expected_bucket_owner)
5311
6013
  SENSITIVE = []
5312
6014
  include Aws::Structure
5313
6015
  end
@@ -5332,8 +6034,8 @@ module Aws::S3
5332
6034
  # @!attribute [rw] restore
5333
6035
  # If the object is an archived object (an object whose storage class
5334
6036
  # is GLACIER), the response includes this header if either the archive
5335
- # restoration is in progress (see RestoreObject or an archive copy is
5336
- # already restored.
6037
+ # restoration is in progress (see [RestoreObject][1] or an archive
6038
+ # copy is already restored.
5337
6039
  #
5338
6040
  # If an archive copy is already restored, the header value indicates
5339
6041
  # when Amazon S3 is scheduled to delete the object copy. For example:
@@ -5345,11 +6047,12 @@ module Aws::S3
5345
6047
  # value `ongoing-request="true"`.
5346
6048
  #
5347
6049
  # For more information about archiving objects, see [Transitioning
5348
- # Objects: General Considerations][1].
6050
+ # Objects: General Considerations][2].
5349
6051
  #
5350
6052
  #
5351
6053
  #
5352
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations
6054
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
6055
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations
5353
6056
  # @return [String]
5354
6057
  #
5355
6058
  # @!attribute [rw] last_modified
@@ -5583,10 +6286,34 @@ module Aws::S3
5583
6286
  # sse_customer_key_md5: "SSECustomerKeyMD5",
5584
6287
  # request_payer: "requester", # accepts requester
5585
6288
  # part_number: 1,
6289
+ # expected_bucket_owner: "AccountId",
5586
6290
  # }
5587
6291
  #
5588
6292
  # @!attribute [rw] bucket
5589
6293
  # The name of the bucket containing the object.
6294
+ #
6295
+ # When using this API with an access point, you must direct requests
6296
+ # to the access point hostname. The access point hostname takes the
6297
+ # form
6298
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6299
+ # When using this operation with an access point through the AWS SDKs,
6300
+ # you provide the access point ARN in place of the bucket name. For
6301
+ # more information about access point ARNs, see [Using Access
6302
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
6303
+ #
6304
+ # When using this API with Amazon S3 on Outposts, you must direct
6305
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6306
+ # takes the form
6307
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6308
+ # When using this operation using S3 on Outposts through the AWS SDKs,
6309
+ # you provide the Outposts bucket ARN in place of the bucket name. For
6310
+ # more information about S3 on Outposts ARNs, see [Using S3 on
6311
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
6312
+ #
6313
+ #
6314
+ #
6315
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6316
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
5590
6317
  # @return [String]
5591
6318
  #
5592
6319
  # @!attribute [rw] if_match
@@ -5616,12 +6343,16 @@ module Aws::S3
5616
6343
  # @!attribute [rw] range
5617
6344
  # Downloads the specified range bytes of an object. For more
5618
6345
  # information about the HTTP Range header, see
5619
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
6346
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
5620
6347
  #
5621
6348
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
5622
6349
  # `GET` request.
5623
6350
  #
5624
6351
  # </note>
6352
+ #
6353
+ #
6354
+ #
6355
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
5625
6356
  # @return [String]
5626
6357
  #
5627
6358
  # @!attribute [rw] version_id
@@ -5638,7 +6369,7 @@ module Aws::S3
5638
6369
  # in encrypting data. This value is used to store the object and then
5639
6370
  # it is discarded; Amazon S3 does not store the encryption key. The
5640
6371
  # key must be appropriate for use with the algorithm specified in the
5641
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
6372
+ # `x-amz-server-side-encryption-customer-algorithm` header.
5642
6373
  # @return [String]
5643
6374
  #
5644
6375
  # @!attribute [rw] sse_customer_key_md5
@@ -5666,6 +6397,12 @@ module Aws::S3
5666
6397
  # and the number of parts in this object.
5667
6398
  # @return [Integer]
5668
6399
  #
6400
+ # @!attribute [rw] expected_bucket_owner
6401
+ # The account id of the expected bucket owner. If the bucket is owned
6402
+ # by a different account, the request will fail with an HTTP `403
6403
+ # (Access Denied)` error.
6404
+ # @return [String]
6405
+ #
5669
6406
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObjectRequest AWS API Documentation
5670
6407
  #
5671
6408
  class HeadObjectRequest < Struct.new(
@@ -5681,7 +6418,8 @@ module Aws::S3
5681
6418
  :sse_customer_key,
5682
6419
  :sse_customer_key_md5,
5683
6420
  :request_payer,
5684
- :part_number)
6421
+ :part_number,
6422
+ :expected_bucket_owner)
5685
6423
  SENSITIVE = [:sse_customer_key]
5686
6424
  include Aws::Structure
5687
6425
  end
@@ -6486,6 +7224,7 @@ module Aws::S3
6486
7224
  # {
6487
7225
  # bucket: "BucketName", # required
6488
7226
  # continuation_token: "Token",
7227
+ # expected_bucket_owner: "AccountId",
6489
7228
  # }
6490
7229
  #
6491
7230
  # @!attribute [rw] bucket
@@ -6498,11 +7237,18 @@ module Aws::S3
6498
7237
  # request should begin.
6499
7238
  # @return [String]
6500
7239
  #
7240
+ # @!attribute [rw] expected_bucket_owner
7241
+ # The account id of the expected bucket owner. If the bucket is owned
7242
+ # by a different account, the request will fail with an HTTP `403
7243
+ # (Access Denied)` error.
7244
+ # @return [String]
7245
+ #
6501
7246
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurationsRequest AWS API Documentation
6502
7247
  #
6503
7248
  class ListBucketAnalyticsConfigurationsRequest < Struct.new(
6504
7249
  :bucket,
6505
- :continuation_token)
7250
+ :continuation_token,
7251
+ :expected_bucket_owner)
6506
7252
  SENSITIVE = []
6507
7253
  include Aws::Structure
6508
7254
  end
@@ -6546,6 +7292,7 @@ module Aws::S3
6546
7292
  # {
6547
7293
  # bucket: "BucketName", # required
6548
7294
  # continuation_token: "Token",
7295
+ # expected_bucket_owner: "AccountId",
6549
7296
  # }
6550
7297
  #
6551
7298
  # @!attribute [rw] bucket
@@ -6560,11 +7307,18 @@ module Aws::S3
6560
7307
  # token is an opaque value that Amazon S3 understands.
6561
7308
  # @return [String]
6562
7309
  #
7310
+ # @!attribute [rw] expected_bucket_owner
7311
+ # The account id of the expected bucket owner. If the bucket is owned
7312
+ # by a different account, the request will fail with an HTTP `403
7313
+ # (Access Denied)` error.
7314
+ # @return [String]
7315
+ #
6563
7316
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurationsRequest AWS API Documentation
6564
7317
  #
6565
7318
  class ListBucketInventoryConfigurationsRequest < Struct.new(
6566
7319
  :bucket,
6567
- :continuation_token)
7320
+ :continuation_token,
7321
+ :expected_bucket_owner)
6568
7322
  SENSITIVE = []
6569
7323
  include Aws::Structure
6570
7324
  end
@@ -6610,6 +7364,7 @@ module Aws::S3
6610
7364
  # {
6611
7365
  # bucket: "BucketName", # required
6612
7366
  # continuation_token: "Token",
7367
+ # expected_bucket_owner: "AccountId",
6613
7368
  # }
6614
7369
  #
6615
7370
  # @!attribute [rw] bucket
@@ -6624,11 +7379,18 @@ module Aws::S3
6624
7379
  # continuation token is an opaque value that Amazon S3 understands.
6625
7380
  # @return [String]
6626
7381
  #
7382
+ # @!attribute [rw] expected_bucket_owner
7383
+ # The account id of the expected bucket owner. If the bucket is owned
7384
+ # by a different account, the request will fail with an HTTP `403
7385
+ # (Access Denied)` error.
7386
+ # @return [String]
7387
+ #
6627
7388
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurationsRequest AWS API Documentation
6628
7389
  #
6629
7390
  class ListBucketMetricsConfigurationsRequest < Struct.new(
6630
7391
  :bucket,
6631
- :continuation_token)
7392
+ :continuation_token,
7393
+ :expected_bucket_owner)
6632
7394
  SENSITIVE = []
6633
7395
  include Aws::Structure
6634
7396
  end
@@ -6651,7 +7413,7 @@ module Aws::S3
6651
7413
  end
6652
7414
 
6653
7415
  # @!attribute [rw] bucket
6654
- # Name of the bucket to which the multipart upload was initiated.
7416
+ # The name of the bucket to which the multipart upload was initiated.
6655
7417
  # @return [String]
6656
7418
  #
6657
7419
  # @!attribute [rw] key_marker
@@ -6751,23 +7513,34 @@ module Aws::S3
6751
7513
  # max_uploads: 1,
6752
7514
  # prefix: "Prefix",
6753
7515
  # upload_id_marker: "UploadIdMarker",
7516
+ # expected_bucket_owner: "AccountId",
6754
7517
  # }
6755
7518
  #
6756
7519
  # @!attribute [rw] bucket
6757
- # Name of the bucket to which the multipart upload was initiated.
7520
+ # The name of the bucket to which the multipart upload was initiated.
6758
7521
  #
6759
7522
  # When using this API with an access point, you must direct requests
6760
7523
  # to the access point hostname. The access point hostname takes the
6761
7524
  # form
6762
7525
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6763
- # When using this operation using an access point through the AWS
6764
- # SDKs, you provide the access point ARN in place of the bucket name.
6765
- # For more information about access point ARNs, see [Using Access
7526
+ # When using this operation with an access point through the AWS SDKs,
7527
+ # you provide the access point ARN in place of the bucket name. For
7528
+ # more information about access point ARNs, see [Using Access
6766
7529
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
6767
7530
  #
7531
+ # When using this API with Amazon S3 on Outposts, you must direct
7532
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7533
+ # takes the form
7534
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7535
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7536
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7537
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7538
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7539
+ #
6768
7540
  #
6769
7541
  #
6770
7542
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7543
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
6771
7544
  # @return [String]
6772
7545
  #
6773
7546
  # @!attribute [rw] delimiter
@@ -6827,6 +7600,12 @@ module Aws::S3
6827
7600
  # the specified `upload-id-marker`.
6828
7601
  # @return [String]
6829
7602
  #
7603
+ # @!attribute [rw] expected_bucket_owner
7604
+ # The account id of the expected bucket owner. If the bucket is owned
7605
+ # by a different account, the request will fail with an HTTP `403
7606
+ # (Access Denied)` error.
7607
+ # @return [String]
7608
+ #
6830
7609
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploadsRequest AWS API Documentation
6831
7610
  #
6832
7611
  class ListMultipartUploadsRequest < Struct.new(
@@ -6836,7 +7615,8 @@ module Aws::S3
6836
7615
  :key_marker,
6837
7616
  :max_uploads,
6838
7617
  :prefix,
6839
- :upload_id_marker)
7618
+ :upload_id_marker,
7619
+ :expected_bucket_owner)
6840
7620
  SENSITIVE = []
6841
7621
  include Aws::Structure
6842
7622
  end
@@ -6880,7 +7660,7 @@ module Aws::S3
6880
7660
  # @return [Array<Types::DeleteMarkerEntry>]
6881
7661
  #
6882
7662
  # @!attribute [rw] name
6883
- # Bucket name.
7663
+ # The bucket name.
6884
7664
  # @return [String]
6885
7665
  #
6886
7666
  # @!attribute [rw] prefix
@@ -6948,23 +7728,11 @@ module Aws::S3
6948
7728
  # max_keys: 1,
6949
7729
  # prefix: "Prefix",
6950
7730
  # version_id_marker: "VersionIdMarker",
7731
+ # expected_bucket_owner: "AccountId",
6951
7732
  # }
6952
7733
  #
6953
7734
  # @!attribute [rw] bucket
6954
7735
  # The bucket name that contains the objects.
6955
- #
6956
- # When using this API with an access point, you must direct requests
6957
- # to the access point hostname. The access point hostname takes the
6958
- # form
6959
- # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6960
- # When using this operation using an access point through the AWS
6961
- # SDKs, you provide the access point ARN in place of the bucket name.
6962
- # For more information about access point ARNs, see [Using Access
6963
- # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
6964
- #
6965
- #
6966
- #
6967
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6968
7736
  # @return [String]
6969
7737
  #
6970
7738
  # @!attribute [rw] delimiter
@@ -7012,6 +7780,12 @@ module Aws::S3
7012
7780
  # Specifies the object version you want to start listing from.
7013
7781
  # @return [String]
7014
7782
  #
7783
+ # @!attribute [rw] expected_bucket_owner
7784
+ # The account id of the expected bucket owner. If the bucket is owned
7785
+ # by a different account, the request will fail with an HTTP `403
7786
+ # (Access Denied)` error.
7787
+ # @return [String]
7788
+ #
7015
7789
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersionsRequest AWS API Documentation
7016
7790
  #
7017
7791
  class ListObjectVersionsRequest < Struct.new(
@@ -7021,7 +7795,8 @@ module Aws::S3
7021
7795
  :key_marker,
7022
7796
  :max_keys,
7023
7797
  :prefix,
7024
- :version_id_marker)
7798
+ :version_id_marker,
7799
+ :expected_bucket_owner)
7025
7800
  SENSITIVE = []
7026
7801
  include Aws::Structure
7027
7802
  end
@@ -7042,7 +7817,7 @@ module Aws::S3
7042
7817
  # in the subsequent request to get next set of objects. Amazon S3
7043
7818
  # lists objects in alphabetical order Note: This element is returned
7044
7819
  # only if you have delimiter request parameter specified. If response
7045
- # does not include the NextMaker and it is truncated, you can use the
7820
+ # does not include the NextMarker and it is truncated, you can use the
7046
7821
  # value of the last Key in the response as the marker in the
7047
7822
  # subsequent request to get the next set of object keys.
7048
7823
  # @return [String]
@@ -7052,7 +7827,7 @@ module Aws::S3
7052
7827
  # @return [Array<Types::Object>]
7053
7828
  #
7054
7829
  # @!attribute [rw] name
7055
- # Bucket name.
7830
+ # The bucket name.
7056
7831
  # @return [String]
7057
7832
  #
7058
7833
  # @!attribute [rw] prefix
@@ -7123,10 +7898,34 @@ module Aws::S3
7123
7898
  # max_keys: 1,
7124
7899
  # prefix: "Prefix",
7125
7900
  # request_payer: "requester", # accepts requester
7901
+ # expected_bucket_owner: "AccountId",
7126
7902
  # }
7127
7903
  #
7128
7904
  # @!attribute [rw] bucket
7129
7905
  # The name of the bucket containing the objects.
7906
+ #
7907
+ # When using this API with an access point, you must direct requests
7908
+ # to the access point hostname. The access point hostname takes the
7909
+ # form
7910
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7911
+ # When using this operation with an access point through the AWS SDKs,
7912
+ # you provide the access point ARN in place of the bucket name. For
7913
+ # more information about access point ARNs, see [Using Access
7914
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
7915
+ #
7916
+ # When using this API with Amazon S3 on Outposts, you must direct
7917
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7918
+ # takes the form
7919
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7920
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7921
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7922
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7923
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7924
+ #
7925
+ #
7926
+ #
7927
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7928
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7130
7929
  # @return [String]
7131
7930
  #
7132
7931
  # @!attribute [rw] delimiter
@@ -7162,6 +7961,12 @@ module Aws::S3
7162
7961
  # parameter in their requests.
7163
7962
  # @return [String]
7164
7963
  #
7964
+ # @!attribute [rw] expected_bucket_owner
7965
+ # The account id of the expected bucket owner. If the bucket is owned
7966
+ # by a different account, the request will fail with an HTTP `403
7967
+ # (Access Denied)` error.
7968
+ # @return [String]
7969
+ #
7165
7970
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsRequest AWS API Documentation
7166
7971
  #
7167
7972
  class ListObjectsRequest < Struct.new(
@@ -7171,7 +7976,8 @@ module Aws::S3
7171
7976
  :marker,
7172
7977
  :max_keys,
7173
7978
  :prefix,
7174
- :request_payer)
7979
+ :request_payer,
7980
+ :expected_bucket_owner)
7175
7981
  SENSITIVE = []
7176
7982
  include Aws::Structure
7177
7983
  end
@@ -7187,20 +7993,30 @@ module Aws::S3
7187
7993
  # @return [Array<Types::Object>]
7188
7994
  #
7189
7995
  # @!attribute [rw] name
7190
- # Bucket name.
7996
+ # The bucket name.
7191
7997
  #
7192
7998
  # When using this API with an access point, you must direct requests
7193
7999
  # to the access point hostname. The access point hostname takes the
7194
8000
  # form
7195
8001
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7196
- # When using this operation using an access point through the AWS
7197
- # SDKs, you provide the access point ARN in place of the bucket name.
7198
- # For more information about access point ARNs, see [Using Access
8002
+ # When using this operation with an access point through the AWS SDKs,
8003
+ # you provide the access point ARN in place of the bucket name. For
8004
+ # more information about access point ARNs, see [Using Access
7199
8005
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
7200
8006
  #
8007
+ # When using this API with Amazon S3 on Outposts, you must direct
8008
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8009
+ # takes the form
8010
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8011
+ # When using this operation using S3 on Outposts through the AWS SDKs,
8012
+ # you provide the Outposts bucket ARN in place of the bucket name. For
8013
+ # more information about S3 on Outposts ARNs, see [Using S3 on
8014
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
8015
+ #
7201
8016
  #
7202
8017
  #
7203
8018
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
8019
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7204
8020
  # @return [String]
7205
8021
  #
7206
8022
  # @!attribute [rw] prefix
@@ -7308,6 +8124,7 @@ module Aws::S3
7308
8124
  # fetch_owner: false,
7309
8125
  # start_after: "StartAfter",
7310
8126
  # request_payer: "requester", # accepts requester
8127
+ # expected_bucket_owner: "AccountId",
7311
8128
  # }
7312
8129
  #
7313
8130
  # @!attribute [rw] bucket
@@ -7317,14 +8134,24 @@ module Aws::S3
7317
8134
  # to the access point hostname. The access point hostname takes the
7318
8135
  # form
7319
8136
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7320
- # When using this operation using an access point through the AWS
7321
- # SDKs, you provide the access point ARN in place of the bucket name.
7322
- # For more information about access point ARNs, see [Using Access
8137
+ # When using this operation with an access point through the AWS SDKs,
8138
+ # you provide the access point ARN in place of the bucket name. For
8139
+ # more information about access point ARNs, see [Using Access
7323
8140
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
7324
8141
  #
8142
+ # When using this API with Amazon S3 on Outposts, you must direct
8143
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8144
+ # takes the form
8145
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8146
+ # When using this operation using S3 on Outposts through the AWS SDKs,
8147
+ # you provide the Outposts bucket ARN in place of the bucket name. For
8148
+ # more information about S3 on Outposts ARNs, see [Using S3 on
8149
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
8150
+ #
7325
8151
  #
7326
8152
  #
7327
8153
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
8154
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7328
8155
  # @return [String]
7329
8156
  #
7330
8157
  # @!attribute [rw] delimiter
@@ -7370,6 +8197,12 @@ module Aws::S3
7370
8197
  # this parameter in their requests.
7371
8198
  # @return [String]
7372
8199
  #
8200
+ # @!attribute [rw] expected_bucket_owner
8201
+ # The account id of the expected bucket owner. If the bucket is owned
8202
+ # by a different account, the request will fail with an HTTP `403
8203
+ # (Access Denied)` error.
8204
+ # @return [String]
8205
+ #
7373
8206
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2Request AWS API Documentation
7374
8207
  #
7375
8208
  class ListObjectsV2Request < Struct.new(
@@ -7381,7 +8214,8 @@ module Aws::S3
7381
8214
  :continuation_token,
7382
8215
  :fetch_owner,
7383
8216
  :start_after,
7384
- :request_payer)
8217
+ :request_payer,
8218
+ :expected_bucket_owner)
7385
8219
  SENSITIVE = []
7386
8220
  include Aws::Structure
7387
8221
  end
@@ -7411,7 +8245,7 @@ module Aws::S3
7411
8245
  # @return [String]
7412
8246
  #
7413
8247
  # @!attribute [rw] bucket
7414
- # Name of the bucket to which the multipart upload was initiated.
8248
+ # The name of the bucket to which the multipart upload was initiated.
7415
8249
  # @return [String]
7416
8250
  #
7417
8251
  # @!attribute [rw] key
@@ -7505,23 +8339,34 @@ module Aws::S3
7505
8339
  # part_number_marker: 1,
7506
8340
  # upload_id: "MultipartUploadId", # required
7507
8341
  # request_payer: "requester", # accepts requester
8342
+ # expected_bucket_owner: "AccountId",
7508
8343
  # }
7509
8344
  #
7510
8345
  # @!attribute [rw] bucket
7511
- # Name of the bucket to which the parts are being uploaded.
8346
+ # The name of the bucket to which the parts are being uploaded.
7512
8347
  #
7513
8348
  # When using this API with an access point, you must direct requests
7514
8349
  # to the access point hostname. The access point hostname takes the
7515
8350
  # form
7516
8351
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7517
- # When using this operation using an access point through the AWS
7518
- # SDKs, you provide the access point ARN in place of the bucket name.
7519
- # For more information about access point ARNs, see [Using Access
8352
+ # When using this operation with an access point through the AWS SDKs,
8353
+ # you provide the access point ARN in place of the bucket name. For
8354
+ # more information about access point ARNs, see [Using Access
7520
8355
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
7521
8356
  #
8357
+ # When using this API with Amazon S3 on Outposts, you must direct
8358
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8359
+ # takes the form
8360
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8361
+ # When using this operation using S3 on Outposts through the AWS SDKs,
8362
+ # you provide the Outposts bucket ARN in place of the bucket name. For
8363
+ # more information about S3 on Outposts ARNs, see [Using S3 on
8364
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
8365
+ #
7522
8366
  #
7523
8367
  #
7524
8368
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
8369
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7525
8370
  # @return [String]
7526
8371
  #
7527
8372
  # @!attribute [rw] key
@@ -7554,6 +8399,12 @@ module Aws::S3
7554
8399
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7555
8400
  # @return [String]
7556
8401
  #
8402
+ # @!attribute [rw] expected_bucket_owner
8403
+ # The account id of the expected bucket owner. If the bucket is owned
8404
+ # by a different account, the request will fail with an HTTP `403
8405
+ # (Access Denied)` error.
8406
+ # @return [String]
8407
+ #
7557
8408
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListPartsRequest AWS API Documentation
7558
8409
  #
7559
8410
  class ListPartsRequest < Struct.new(
@@ -7562,7 +8413,8 @@ module Aws::S3
7562
8413
  :max_parts,
7563
8414
  :part_number_marker,
7564
8415
  :upload_id,
7565
- :request_payer)
8416
+ :request_payer,
8417
+ :expected_bucket_owner)
7566
8418
  SENSITIVE = []
7567
8419
  include Aws::Structure
7568
8420
  end
@@ -8140,8 +8992,25 @@ module Aws::S3
8140
8992
  # @return [Time]
8141
8993
  #
8142
8994
  # @!attribute [rw] etag
8143
- # The entity tag is an MD5 hash of the object. ETag reflects only
8144
- # changes to the contents of an object, not its metadata.
8995
+ # The entity tag is a hash of the object. The ETag reflects changes
8996
+ # only to the contents of an object, not its metadata. The ETag may or
8997
+ # may not be an MD5 digest of the object data. Whether or not it is
8998
+ # depends on how the object was created and how it is encrypted as
8999
+ # described below:
9000
+ #
9001
+ # * Objects created by the PUT Object, POST Object, or Copy operation,
9002
+ # or through the AWS Management Console, and are encrypted by SSE-S3
9003
+ # or plaintext, have ETags that are an MD5 digest of their object
9004
+ # data.
9005
+ #
9006
+ # * Objects created by the PUT Object, POST Object, or Copy operation,
9007
+ # or through the AWS Management Console, and are encrypted by SSE-C
9008
+ # or SSE-KMS, have ETags that are not an MD5 digest of their object
9009
+ # data.
9010
+ #
9011
+ # * If an object is created by either the Multipart Upload or Part
9012
+ # Copy operation, the ETag is not an MD5 digest, regardless of the
9013
+ # method of encryption.
8145
9014
  # @return [String]
8146
9015
  #
8147
9016
  # @!attribute [rw] size
@@ -8408,7 +9277,7 @@ module Aws::S3
8408
9277
  # value: "MetadataValue",
8409
9278
  # },
8410
9279
  # ],
8411
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
9280
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
8412
9281
  # },
8413
9282
  # }
8414
9283
  #
@@ -8487,6 +9356,60 @@ module Aws::S3
8487
9356
  include Aws::Structure
8488
9357
  end
8489
9358
 
9359
+ # The container element for a bucket's ownership controls.
9360
+ #
9361
+ # @note When making an API call, you may pass OwnershipControls
9362
+ # data as a hash:
9363
+ #
9364
+ # {
9365
+ # rules: [ # required
9366
+ # {
9367
+ # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter
9368
+ # },
9369
+ # ],
9370
+ # }
9371
+ #
9372
+ # @!attribute [rw] rules
9373
+ # The container element for an ownership control rule.
9374
+ # @return [Array<Types::OwnershipControlsRule>]
9375
+ #
9376
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OwnershipControls AWS API Documentation
9377
+ #
9378
+ class OwnershipControls < Struct.new(
9379
+ :rules)
9380
+ SENSITIVE = []
9381
+ include Aws::Structure
9382
+ end
9383
+
9384
+ # The container element for an ownership control rule.
9385
+ #
9386
+ # @note When making an API call, you may pass OwnershipControlsRule
9387
+ # data as a hash:
9388
+ #
9389
+ # {
9390
+ # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter
9391
+ # }
9392
+ #
9393
+ # @!attribute [rw] object_ownership
9394
+ # The container element for object ownership for a bucket's ownership
9395
+ # controls.
9396
+ #
9397
+ # BucketOwnerPreferred - Objects uploaded to the bucket change
9398
+ # ownership to the bucket owner if the objects are uploaded with the
9399
+ # `bucket-owner-full-control` canned ACL.
9400
+ #
9401
+ # ObjectWriter - The uploading account will own the object if the
9402
+ # object is uploaded with the `bucket-owner-full-control` canned ACL.
9403
+ # @return [String]
9404
+ #
9405
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OwnershipControlsRule AWS API Documentation
9406
+ #
9407
+ class OwnershipControlsRule < Struct.new(
9408
+ :object_ownership)
9409
+ SENSITIVE = []
9410
+ include Aws::Structure
9411
+ end
9412
+
8490
9413
  # Container for Parquet.
8491
9414
  #
8492
9415
  # @api private
@@ -8665,21 +9588,30 @@ module Aws::S3
8665
9588
  # accelerate_configuration: { # required
8666
9589
  # status: "Enabled", # accepts Enabled, Suspended
8667
9590
  # },
9591
+ # expected_bucket_owner: "AccountId",
8668
9592
  # }
8669
9593
  #
8670
9594
  # @!attribute [rw] bucket
8671
- # Name of the bucket for which the accelerate configuration is set.
9595
+ # The name of the bucket for which the accelerate configuration is
9596
+ # set.
8672
9597
  # @return [String]
8673
9598
  #
8674
9599
  # @!attribute [rw] accelerate_configuration
8675
9600
  # Container for setting the transfer acceleration state.
8676
9601
  # @return [Types::AccelerateConfiguration]
8677
9602
  #
9603
+ # @!attribute [rw] expected_bucket_owner
9604
+ # The account id of the expected bucket owner. If the bucket is owned
9605
+ # by a different account, the request will fail with an HTTP `403
9606
+ # (Access Denied)` error.
9607
+ # @return [String]
9608
+ #
8678
9609
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfigurationRequest AWS API Documentation
8679
9610
  #
8680
9611
  class PutBucketAccelerateConfigurationRequest < Struct.new(
8681
9612
  :bucket,
8682
- :accelerate_configuration)
9613
+ :accelerate_configuration,
9614
+ :expected_bucket_owner)
8683
9615
  SENSITIVE = []
8684
9616
  include Aws::Structure
8685
9617
  end
@@ -8714,6 +9646,7 @@ module Aws::S3
8714
9646
  # grant_read_acp: "GrantReadACP",
8715
9647
  # grant_write: "GrantWrite",
8716
9648
  # grant_write_acp: "GrantWriteACP",
9649
+ # expected_bucket_owner: "AccountId",
8717
9650
  # }
8718
9651
  #
8719
9652
  # @!attribute [rw] acl
@@ -8762,6 +9695,12 @@ module Aws::S3
8762
9695
  # Allows grantee to write the ACL for the applicable bucket.
8763
9696
  # @return [String]
8764
9697
  #
9698
+ # @!attribute [rw] expected_bucket_owner
9699
+ # The account id of the expected bucket owner. If the bucket is owned
9700
+ # by a different account, the request will fail with an HTTP `403
9701
+ # (Access Denied)` error.
9702
+ # @return [String]
9703
+ #
8765
9704
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAclRequest AWS API Documentation
8766
9705
  #
8767
9706
  class PutBucketAclRequest < Struct.new(
@@ -8773,7 +9712,8 @@ module Aws::S3
8773
9712
  :grant_read,
8774
9713
  :grant_read_acp,
8775
9714
  :grant_write,
8776
- :grant_write_acp)
9715
+ :grant_write_acp,
9716
+ :expected_bucket_owner)
8777
9717
  SENSITIVE = []
8778
9718
  include Aws::Structure
8779
9719
  end
@@ -8816,6 +9756,7 @@ module Aws::S3
8816
9756
  # },
8817
9757
  # },
8818
9758
  # },
9759
+ # expected_bucket_owner: "AccountId",
8819
9760
  # }
8820
9761
  #
8821
9762
  # @!attribute [rw] bucket
@@ -8831,12 +9772,19 @@ module Aws::S3
8831
9772
  # The configuration and any analyses for the analytics filter.
8832
9773
  # @return [Types::AnalyticsConfiguration]
8833
9774
  #
9775
+ # @!attribute [rw] expected_bucket_owner
9776
+ # The account id of the expected bucket owner. If the bucket is owned
9777
+ # by a different account, the request will fail with an HTTP `403
9778
+ # (Access Denied)` error.
9779
+ # @return [String]
9780
+ #
8834
9781
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfigurationRequest AWS API Documentation
8835
9782
  #
8836
9783
  class PutBucketAnalyticsConfigurationRequest < Struct.new(
8837
9784
  :bucket,
8838
9785
  :id,
8839
- :analytics_configuration)
9786
+ :analytics_configuration,
9787
+ :expected_bucket_owner)
8840
9788
  SENSITIVE = []
8841
9789
  include Aws::Structure
8842
9790
  end
@@ -8858,6 +9806,7 @@ module Aws::S3
8858
9806
  # ],
8859
9807
  # },
8860
9808
  # content_md5: "ContentMD5",
9809
+ # expected_bucket_owner: "AccountId",
8861
9810
  # }
8862
9811
  #
8863
9812
  # @!attribute [rw] bucket
@@ -8886,12 +9835,19 @@ module Aws::S3
8886
9835
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
8887
9836
  # @return [String]
8888
9837
  #
9838
+ # @!attribute [rw] expected_bucket_owner
9839
+ # The account id of the expected bucket owner. If the bucket is owned
9840
+ # by a different account, the request will fail with an HTTP `403
9841
+ # (Access Denied)` error.
9842
+ # @return [String]
9843
+ #
8889
9844
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCorsRequest AWS API Documentation
8890
9845
  #
8891
9846
  class PutBucketCorsRequest < Struct.new(
8892
9847
  :bucket,
8893
9848
  :cors_configuration,
8894
- :content_md5)
9849
+ :content_md5,
9850
+ :expected_bucket_owner)
8895
9851
  SENSITIVE = []
8896
9852
  include Aws::Structure
8897
9853
  end
@@ -8912,6 +9868,7 @@ module Aws::S3
8912
9868
  # },
8913
9869
  # ],
8914
9870
  # },
9871
+ # expected_bucket_owner: "AccountId",
8915
9872
  # }
8916
9873
  #
8917
9874
  # @!attribute [rw] bucket
@@ -8937,12 +9894,19 @@ module Aws::S3
8937
9894
  # Specifies the default server-side-encryption configuration.
8938
9895
  # @return [Types::ServerSideEncryptionConfiguration]
8939
9896
  #
9897
+ # @!attribute [rw] expected_bucket_owner
9898
+ # The account id of the expected bucket owner. If the bucket is owned
9899
+ # by a different account, the request will fail with an HTTP `403
9900
+ # (Access Denied)` error.
9901
+ # @return [String]
9902
+ #
8940
9903
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryptionRequest AWS API Documentation
8941
9904
  #
8942
9905
  class PutBucketEncryptionRequest < Struct.new(
8943
9906
  :bucket,
8944
9907
  :content_md5,
8945
- :server_side_encryption_configuration)
9908
+ :server_side_encryption_configuration,
9909
+ :expected_bucket_owner)
8946
9910
  SENSITIVE = []
8947
9911
  include Aws::Structure
8948
9912
  end
@@ -8980,6 +9944,7 @@ module Aws::S3
8980
9944
  # frequency: "Daily", # required, accepts Daily, Weekly
8981
9945
  # },
8982
9946
  # },
9947
+ # expected_bucket_owner: "AccountId",
8983
9948
  # }
8984
9949
  #
8985
9950
  # @!attribute [rw] bucket
@@ -8995,12 +9960,19 @@ module Aws::S3
8995
9960
  # Specifies the inventory configuration.
8996
9961
  # @return [Types::InventoryConfiguration]
8997
9962
  #
9963
+ # @!attribute [rw] expected_bucket_owner
9964
+ # The account id of the expected bucket owner. If the bucket is owned
9965
+ # by a different account, the request will fail with an HTTP `403
9966
+ # (Access Denied)` error.
9967
+ # @return [String]
9968
+ #
8998
9969
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfigurationRequest AWS API Documentation
8999
9970
  #
9000
9971
  class PutBucketInventoryConfigurationRequest < Struct.new(
9001
9972
  :bucket,
9002
9973
  :id,
9003
- :inventory_configuration)
9974
+ :inventory_configuration,
9975
+ :expected_bucket_owner)
9004
9976
  SENSITIVE = []
9005
9977
  include Aws::Structure
9006
9978
  end
@@ -9059,6 +10031,7 @@ module Aws::S3
9059
10031
  # },
9060
10032
  # ],
9061
10033
  # },
10034
+ # expected_bucket_owner: "AccountId",
9062
10035
  # }
9063
10036
  #
9064
10037
  # @!attribute [rw] bucket
@@ -9069,11 +10042,18 @@ module Aws::S3
9069
10042
  # Container for lifecycle rules. You can add as many as 1,000 rules.
9070
10043
  # @return [Types::BucketLifecycleConfiguration]
9071
10044
  #
10045
+ # @!attribute [rw] expected_bucket_owner
10046
+ # The account id of the expected bucket owner. If the bucket is owned
10047
+ # by a different account, the request will fail with an HTTP `403
10048
+ # (Access Denied)` error.
10049
+ # @return [String]
10050
+ #
9072
10051
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfigurationRequest AWS API Documentation
9073
10052
  #
9074
10053
  class PutBucketLifecycleConfigurationRequest < Struct.new(
9075
10054
  :bucket,
9076
- :lifecycle_configuration)
10055
+ :lifecycle_configuration,
10056
+ :expected_bucket_owner)
9077
10057
  SENSITIVE = []
9078
10058
  include Aws::Structure
9079
10059
  end
@@ -9113,6 +10093,7 @@ module Aws::S3
9113
10093
  # },
9114
10094
  # ],
9115
10095
  # },
10096
+ # expected_bucket_owner: "AccountId",
9116
10097
  # }
9117
10098
  #
9118
10099
  # @!attribute [rw] bucket
@@ -9124,12 +10105,19 @@ module Aws::S3
9124
10105
  # @!attribute [rw] lifecycle_configuration
9125
10106
  # @return [Types::LifecycleConfiguration]
9126
10107
  #
10108
+ # @!attribute [rw] expected_bucket_owner
10109
+ # The account id of the expected bucket owner. If the bucket is owned
10110
+ # by a different account, the request will fail with an HTTP `403
10111
+ # (Access Denied)` error.
10112
+ # @return [String]
10113
+ #
9127
10114
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleRequest AWS API Documentation
9128
10115
  #
9129
10116
  class PutBucketLifecycleRequest < Struct.new(
9130
10117
  :bucket,
9131
10118
  :content_md5,
9132
- :lifecycle_configuration)
10119
+ :lifecycle_configuration,
10120
+ :expected_bucket_owner)
9133
10121
  SENSITIVE = []
9134
10122
  include Aws::Structure
9135
10123
  end
@@ -9158,6 +10146,7 @@ module Aws::S3
9158
10146
  # },
9159
10147
  # },
9160
10148
  # content_md5: "ContentMD5",
10149
+ # expected_bucket_owner: "AccountId",
9161
10150
  # }
9162
10151
  #
9163
10152
  # @!attribute [rw] bucket
@@ -9172,12 +10161,19 @@ module Aws::S3
9172
10161
  # The MD5 hash of the `PutBucketLogging` request body.
9173
10162
  # @return [String]
9174
10163
  #
10164
+ # @!attribute [rw] expected_bucket_owner
10165
+ # The account id of the expected bucket owner. If the bucket is owned
10166
+ # by a different account, the request will fail with an HTTP `403
10167
+ # (Access Denied)` error.
10168
+ # @return [String]
10169
+ #
9175
10170
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLoggingRequest AWS API Documentation
9176
10171
  #
9177
10172
  class PutBucketLoggingRequest < Struct.new(
9178
10173
  :bucket,
9179
10174
  :bucket_logging_status,
9180
- :content_md5)
10175
+ :content_md5,
10176
+ :expected_bucket_owner)
9181
10177
  SENSITIVE = []
9182
10178
  include Aws::Structure
9183
10179
  end
@@ -9207,6 +10203,7 @@ module Aws::S3
9207
10203
  # },
9208
10204
  # },
9209
10205
  # },
10206
+ # expected_bucket_owner: "AccountId",
9210
10207
  # }
9211
10208
  #
9212
10209
  # @!attribute [rw] bucket
@@ -9221,12 +10218,19 @@ module Aws::S3
9221
10218
  # Specifies the metrics configuration.
9222
10219
  # @return [Types::MetricsConfiguration]
9223
10220
  #
10221
+ # @!attribute [rw] expected_bucket_owner
10222
+ # The account id of the expected bucket owner. If the bucket is owned
10223
+ # by a different account, the request will fail with an HTTP `403
10224
+ # (Access Denied)` error.
10225
+ # @return [String]
10226
+ #
9224
10227
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfigurationRequest AWS API Documentation
9225
10228
  #
9226
10229
  class PutBucketMetricsConfigurationRequest < Struct.new(
9227
10230
  :bucket,
9228
10231
  :id,
9229
- :metrics_configuration)
10232
+ :metrics_configuration,
10233
+ :expected_bucket_owner)
9230
10234
  SENSITIVE = []
9231
10235
  include Aws::Structure
9232
10236
  end
@@ -9289,6 +10293,7 @@ module Aws::S3
9289
10293
  # },
9290
10294
  # ],
9291
10295
  # },
10296
+ # expected_bucket_owner: "AccountId",
9292
10297
  # }
9293
10298
  #
9294
10299
  # @!attribute [rw] bucket
@@ -9301,11 +10306,18 @@ module Aws::S3
9301
10306
  # the bucket.
9302
10307
  # @return [Types::NotificationConfiguration]
9303
10308
  #
10309
+ # @!attribute [rw] expected_bucket_owner
10310
+ # The account id of the expected bucket owner. If the bucket is owned
10311
+ # by a different account, the request will fail with an HTTP `403
10312
+ # (Access Denied)` error.
10313
+ # @return [String]
10314
+ #
9304
10315
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfigurationRequest AWS API Documentation
9305
10316
  #
9306
10317
  class PutBucketNotificationConfigurationRequest < Struct.new(
9307
10318
  :bucket,
9308
- :notification_configuration)
10319
+ :notification_configuration,
10320
+ :expected_bucket_owner)
9309
10321
  SENSITIVE = []
9310
10322
  include Aws::Structure
9311
10323
  end
@@ -9337,6 +10349,7 @@ module Aws::S3
9337
10349
  # invocation_role: "CloudFunctionInvocationRole",
9338
10350
  # },
9339
10351
  # },
10352
+ # expected_bucket_owner: "AccountId",
9340
10353
  # }
9341
10354
  #
9342
10355
  # @!attribute [rw] bucket
@@ -9351,12 +10364,63 @@ module Aws::S3
9351
10364
  # The container for the configuration.
9352
10365
  # @return [Types::NotificationConfigurationDeprecated]
9353
10366
  #
10367
+ # @!attribute [rw] expected_bucket_owner
10368
+ # The account id of the expected bucket owner. If the bucket is owned
10369
+ # by a different account, the request will fail with an HTTP `403
10370
+ # (Access Denied)` error.
10371
+ # @return [String]
10372
+ #
9354
10373
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationRequest AWS API Documentation
9355
10374
  #
9356
10375
  class PutBucketNotificationRequest < Struct.new(
9357
10376
  :bucket,
9358
10377
  :content_md5,
9359
- :notification_configuration)
10378
+ :notification_configuration,
10379
+ :expected_bucket_owner)
10380
+ SENSITIVE = []
10381
+ include Aws::Structure
10382
+ end
10383
+
10384
+ # @note When making an API call, you may pass PutBucketOwnershipControlsRequest
10385
+ # data as a hash:
10386
+ #
10387
+ # {
10388
+ # bucket: "BucketName", # required
10389
+ # content_md5: "ContentMD5",
10390
+ # expected_bucket_owner: "AccountId",
10391
+ # ownership_controls: { # required
10392
+ # rules: [ # required
10393
+ # {
10394
+ # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter
10395
+ # },
10396
+ # ],
10397
+ # },
10398
+ # }
10399
+ #
10400
+ # @!attribute [rw] bucket
10401
+ # The name of the Amazon S3 bucket whose `OwnershipControls` you want
10402
+ # to set.
10403
+ # @return [String]
10404
+ #
10405
+ # @!attribute [rw] content_md5
10406
+ # The MD5 hash of the `OwnershipControls` request body.
10407
+ # @return [String]
10408
+ #
10409
+ # @!attribute [rw] expected_bucket_owner
10410
+ # @return [String]
10411
+ #
10412
+ # @!attribute [rw] ownership_controls
10413
+ # The `OwnershipControls` (BucketOwnerPreferred or ObjectWriter) that
10414
+ # you want to apply to this Amazon S3 bucket.
10415
+ # @return [Types::OwnershipControls]
10416
+ #
10417
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControlsRequest AWS API Documentation
10418
+ #
10419
+ class PutBucketOwnershipControlsRequest < Struct.new(
10420
+ :bucket,
10421
+ :content_md5,
10422
+ :expected_bucket_owner,
10423
+ :ownership_controls)
9360
10424
  SENSITIVE = []
9361
10425
  include Aws::Structure
9362
10426
  end
@@ -9369,6 +10433,7 @@ module Aws::S3
9369
10433
  # content_md5: "ContentMD5",
9370
10434
  # confirm_remove_self_bucket_access: false,
9371
10435
  # policy: "Policy", # required
10436
+ # expected_bucket_owner: "AccountId",
9372
10437
  # }
9373
10438
  #
9374
10439
  # @!attribute [rw] bucket
@@ -9388,13 +10453,20 @@ module Aws::S3
9388
10453
  # The bucket policy as a JSON document.
9389
10454
  # @return [String]
9390
10455
  #
10456
+ # @!attribute [rw] expected_bucket_owner
10457
+ # The account id of the expected bucket owner. If the bucket is owned
10458
+ # by a different account, the request will fail with an HTTP `403
10459
+ # (Access Denied)` error.
10460
+ # @return [String]
10461
+ #
9391
10462
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicyRequest AWS API Documentation
9392
10463
  #
9393
10464
  class PutBucketPolicyRequest < Struct.new(
9394
10465
  :bucket,
9395
10466
  :content_md5,
9396
10467
  :confirm_remove_self_bucket_access,
9397
- :policy)
10468
+ :policy,
10469
+ :expected_bucket_owner)
9398
10470
  SENSITIVE = []
9399
10471
  include Aws::Structure
9400
10472
  end
@@ -9440,7 +10512,7 @@ module Aws::S3
9440
10512
  # destination: { # required
9441
10513
  # bucket: "BucketName", # required
9442
10514
  # account: "AccountId",
9443
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
10515
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
9444
10516
  # access_control_translation: {
9445
10517
  # owner: "Destination", # required, accepts Destination
9446
10518
  # },
@@ -9467,6 +10539,7 @@ module Aws::S3
9467
10539
  # ],
9468
10540
  # },
9469
10541
  # token: "ObjectLockToken",
10542
+ # expected_bucket_owner: "AccountId",
9470
10543
  # }
9471
10544
  #
9472
10545
  # @!attribute [rw] bucket
@@ -9492,13 +10565,20 @@ module Aws::S3
9492
10565
  # @!attribute [rw] token
9493
10566
  # @return [String]
9494
10567
  #
10568
+ # @!attribute [rw] expected_bucket_owner
10569
+ # The account id of the expected bucket owner. If the bucket is owned
10570
+ # by a different account, the request will fail with an HTTP `403
10571
+ # (Access Denied)` error.
10572
+ # @return [String]
10573
+ #
9495
10574
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplicationRequest AWS API Documentation
9496
10575
  #
9497
10576
  class PutBucketReplicationRequest < Struct.new(
9498
10577
  :bucket,
9499
10578
  :content_md5,
9500
10579
  :replication_configuration,
9501
- :token)
10580
+ :token,
10581
+ :expected_bucket_owner)
9502
10582
  SENSITIVE = []
9503
10583
  include Aws::Structure
9504
10584
  end
@@ -9512,6 +10592,7 @@ module Aws::S3
9512
10592
  # request_payment_configuration: { # required
9513
10593
  # payer: "Requester", # required, accepts Requester, BucketOwner
9514
10594
  # },
10595
+ # expected_bucket_owner: "AccountId",
9515
10596
  # }
9516
10597
  #
9517
10598
  # @!attribute [rw] bucket
@@ -9533,12 +10614,19 @@ module Aws::S3
9533
10614
  # Container for Payer.
9534
10615
  # @return [Types::RequestPaymentConfiguration]
9535
10616
  #
10617
+ # @!attribute [rw] expected_bucket_owner
10618
+ # The account id of the expected bucket owner. If the bucket is owned
10619
+ # by a different account, the request will fail with an HTTP `403
10620
+ # (Access Denied)` error.
10621
+ # @return [String]
10622
+ #
9536
10623
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPaymentRequest AWS API Documentation
9537
10624
  #
9538
10625
  class PutBucketRequestPaymentRequest < Struct.new(
9539
10626
  :bucket,
9540
10627
  :content_md5,
9541
- :request_payment_configuration)
10628
+ :request_payment_configuration,
10629
+ :expected_bucket_owner)
9542
10630
  SENSITIVE = []
9543
10631
  include Aws::Structure
9544
10632
  end
@@ -9557,6 +10645,7 @@ module Aws::S3
9557
10645
  # },
9558
10646
  # ],
9559
10647
  # },
10648
+ # expected_bucket_owner: "AccountId",
9560
10649
  # }
9561
10650
  #
9562
10651
  # @!attribute [rw] bucket
@@ -9578,12 +10667,19 @@ module Aws::S3
9578
10667
  # Container for the `TagSet` and `Tag` elements.
9579
10668
  # @return [Types::Tagging]
9580
10669
  #
10670
+ # @!attribute [rw] expected_bucket_owner
10671
+ # The account id of the expected bucket owner. If the bucket is owned
10672
+ # by a different account, the request will fail with an HTTP `403
10673
+ # (Access Denied)` error.
10674
+ # @return [String]
10675
+ #
9581
10676
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTaggingRequest AWS API Documentation
9582
10677
  #
9583
10678
  class PutBucketTaggingRequest < Struct.new(
9584
10679
  :bucket,
9585
10680
  :content_md5,
9586
- :tagging)
10681
+ :tagging,
10682
+ :expected_bucket_owner)
9587
10683
  SENSITIVE = []
9588
10684
  include Aws::Structure
9589
10685
  end
@@ -9599,6 +10695,7 @@ module Aws::S3
9599
10695
  # mfa_delete: "Enabled", # accepts Enabled, Disabled
9600
10696
  # status: "Enabled", # accepts Enabled, Suspended
9601
10697
  # },
10698
+ # expected_bucket_owner: "AccountId",
9602
10699
  # }
9603
10700
  #
9604
10701
  # @!attribute [rw] bucket
@@ -9626,13 +10723,20 @@ module Aws::S3
9626
10723
  # Container for setting the versioning state.
9627
10724
  # @return [Types::VersioningConfiguration]
9628
10725
  #
10726
+ # @!attribute [rw] expected_bucket_owner
10727
+ # The account id of the expected bucket owner. If the bucket is owned
10728
+ # by a different account, the request will fail with an HTTP `403
10729
+ # (Access Denied)` error.
10730
+ # @return [String]
10731
+ #
9629
10732
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioningRequest AWS API Documentation
9630
10733
  #
9631
10734
  class PutBucketVersioningRequest < Struct.new(
9632
10735
  :bucket,
9633
10736
  :content_md5,
9634
10737
  :mfa,
9635
- :versioning_configuration)
10738
+ :versioning_configuration,
10739
+ :expected_bucket_owner)
9636
10740
  SENSITIVE = []
9637
10741
  include Aws::Structure
9638
10742
  end
@@ -9670,6 +10774,7 @@ module Aws::S3
9670
10774
  # },
9671
10775
  # ],
9672
10776
  # },
10777
+ # expected_bucket_owner: "AccountId",
9673
10778
  # }
9674
10779
  #
9675
10780
  # @!attribute [rw] bucket
@@ -9691,12 +10796,19 @@ module Aws::S3
9691
10796
  # Container for the request.
9692
10797
  # @return [Types::WebsiteConfiguration]
9693
10798
  #
10799
+ # @!attribute [rw] expected_bucket_owner
10800
+ # The account id of the expected bucket owner. If the bucket is owned
10801
+ # by a different account, the request will fail with an HTTP `403
10802
+ # (Access Denied)` error.
10803
+ # @return [String]
10804
+ #
9694
10805
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsiteRequest AWS API Documentation
9695
10806
  #
9696
10807
  class PutBucketWebsiteRequest < Struct.new(
9697
10808
  :bucket,
9698
10809
  :content_md5,
9699
- :website_configuration)
10810
+ :website_configuration,
10811
+ :expected_bucket_owner)
9700
10812
  SENSITIVE = []
9701
10813
  include Aws::Structure
9702
10814
  end
@@ -9747,6 +10859,7 @@ module Aws::S3
9747
10859
  # key: "ObjectKey", # required
9748
10860
  # request_payer: "requester", # accepts requester
9749
10861
  # version_id: "ObjectVersionId",
10862
+ # expected_bucket_owner: "AccountId",
9750
10863
  # }
9751
10864
  #
9752
10865
  # @!attribute [rw] acl
@@ -9771,9 +10884,9 @@ module Aws::S3
9771
10884
  # to the access point hostname. The access point hostname takes the
9772
10885
  # form
9773
10886
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9774
- # When using this operation using an access point through the AWS
9775
- # SDKs, you provide the access point ARN in place of the bucket name.
9776
- # For more information about access point ARNs, see [Using Access
10887
+ # When using this operation with an access point through the AWS SDKs,
10888
+ # you provide the access point ARN in place of the bucket name. For
10889
+ # more information about access point ARNs, see [Using Access
9777
10890
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
9778
10891
  #
9779
10892
  #
@@ -9795,14 +10908,20 @@ module Aws::S3
9795
10908
  # @!attribute [rw] grant_full_control
9796
10909
  # Allows grantee the read, write, read ACP, and write ACP permissions
9797
10910
  # on the bucket.
10911
+ #
10912
+ # This action is not supported by Amazon S3 on Outposts.
9798
10913
  # @return [String]
9799
10914
  #
9800
10915
  # @!attribute [rw] grant_read
9801
10916
  # Allows grantee to list the objects in the bucket.
10917
+ #
10918
+ # This action is not supported by Amazon S3 on Outposts.
9802
10919
  # @return [String]
9803
10920
  #
9804
10921
  # @!attribute [rw] grant_read_acp
9805
10922
  # Allows grantee to read the bucket ACL.
10923
+ #
10924
+ # This action is not supported by Amazon S3 on Outposts.
9806
10925
  # @return [String]
9807
10926
  #
9808
10927
  # @!attribute [rw] grant_write
@@ -9812,10 +10931,35 @@ module Aws::S3
9812
10931
  #
9813
10932
  # @!attribute [rw] grant_write_acp
9814
10933
  # Allows grantee to write the ACL for the applicable bucket.
10934
+ #
10935
+ # This action is not supported by Amazon S3 on Outposts.
9815
10936
  # @return [String]
9816
10937
  #
9817
10938
  # @!attribute [rw] key
9818
10939
  # Key for which the PUT operation was initiated.
10940
+ #
10941
+ # When using this API with an access point, you must direct requests
10942
+ # to the access point hostname. The access point hostname takes the
10943
+ # form
10944
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10945
+ # When using this operation with an access point through the AWS SDKs,
10946
+ # you provide the access point ARN in place of the bucket name. For
10947
+ # more information about access point ARNs, see [Using Access
10948
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
10949
+ #
10950
+ # When using this API with Amazon S3 on Outposts, you must direct
10951
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
10952
+ # takes the form
10953
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
10954
+ # When using this operation using S3 on Outposts through the AWS SDKs,
10955
+ # you provide the Outposts bucket ARN in place of the bucket name. For
10956
+ # more information about S3 on Outposts ARNs, see [Using S3 on
10957
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
10958
+ #
10959
+ #
10960
+ #
10961
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
10962
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
9819
10963
  # @return [String]
9820
10964
  #
9821
10965
  # @!attribute [rw] request_payer
@@ -9834,6 +10978,12 @@ module Aws::S3
9834
10978
  # VersionId used to reference a specific version of the object.
9835
10979
  # @return [String]
9836
10980
  #
10981
+ # @!attribute [rw] expected_bucket_owner
10982
+ # The account id of the expected bucket owner. If the bucket is owned
10983
+ # by a different account, the request will fail with an HTTP `403
10984
+ # (Access Denied)` error.
10985
+ # @return [String]
10986
+ #
9837
10987
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAclRequest AWS API Documentation
9838
10988
  #
9839
10989
  class PutObjectAclRequest < Struct.new(
@@ -9848,7 +10998,8 @@ module Aws::S3
9848
10998
  :grant_write_acp,
9849
10999
  :key,
9850
11000
  :request_payer,
9851
- :version_id)
11001
+ :version_id,
11002
+ :expected_bucket_owner)
9852
11003
  SENSITIVE = []
9853
11004
  include Aws::Structure
9854
11005
  end
@@ -9878,6 +11029,7 @@ module Aws::S3
9878
11029
  # request_payer: "requester", # accepts requester
9879
11030
  # version_id: "ObjectVersionId",
9880
11031
  # content_md5: "ContentMD5",
11032
+ # expected_bucket_owner: "AccountId",
9881
11033
  # }
9882
11034
  #
9883
11035
  # @!attribute [rw] bucket
@@ -9888,9 +11040,9 @@ module Aws::S3
9888
11040
  # to the access point hostname. The access point hostname takes the
9889
11041
  # form
9890
11042
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9891
- # When using this operation using an access point through the AWS
9892
- # SDKs, you provide the access point ARN in place of the bucket name.
9893
- # For more information about access point ARNs, see [Using Access
11043
+ # When using this operation with an access point through the AWS SDKs,
11044
+ # you provide the access point ARN in place of the bucket name. For
11045
+ # more information about access point ARNs, see [Using Access
9894
11046
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
9895
11047
  #
9896
11048
  #
@@ -9927,6 +11079,12 @@ module Aws::S3
9927
11079
  # The MD5 hash for the request body.
9928
11080
  # @return [String]
9929
11081
  #
11082
+ # @!attribute [rw] expected_bucket_owner
11083
+ # The account id of the expected bucket owner. If the bucket is owned
11084
+ # by a different account, the request will fail with an HTTP `403
11085
+ # (Access Denied)` error.
11086
+ # @return [String]
11087
+ #
9930
11088
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHoldRequest AWS API Documentation
9931
11089
  #
9932
11090
  class PutObjectLegalHoldRequest < Struct.new(
@@ -9935,7 +11093,8 @@ module Aws::S3
9935
11093
  :legal_hold,
9936
11094
  :request_payer,
9937
11095
  :version_id,
9938
- :content_md5)
11096
+ :content_md5,
11097
+ :expected_bucket_owner)
9939
11098
  SENSITIVE = []
9940
11099
  include Aws::Structure
9941
11100
  end
@@ -9971,6 +11130,7 @@ module Aws::S3
9971
11130
  # request_payer: "requester", # accepts requester
9972
11131
  # token: "ObjectLockToken",
9973
11132
  # content_md5: "ContentMD5",
11133
+ # expected_bucket_owner: "AccountId",
9974
11134
  # }
9975
11135
  #
9976
11136
  # @!attribute [rw] bucket
@@ -10003,6 +11163,12 @@ module Aws::S3
10003
11163
  # The MD5 hash for the request body.
10004
11164
  # @return [String]
10005
11165
  #
11166
+ # @!attribute [rw] expected_bucket_owner
11167
+ # The account id of the expected bucket owner. If the bucket is owned
11168
+ # by a different account, the request will fail with an HTTP `403
11169
+ # (Access Denied)` error.
11170
+ # @return [String]
11171
+ #
10006
11172
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfigurationRequest AWS API Documentation
10007
11173
  #
10008
11174
  class PutObjectLockConfigurationRequest < Struct.new(
@@ -10010,17 +11176,22 @@ module Aws::S3
10010
11176
  :object_lock_configuration,
10011
11177
  :request_payer,
10012
11178
  :token,
10013
- :content_md5)
11179
+ :content_md5,
11180
+ :expected_bucket_owner)
10014
11181
  SENSITIVE = []
10015
11182
  include Aws::Structure
10016
11183
  end
10017
11184
 
10018
11185
  # @!attribute [rw] expiration
10019
11186
  # If the expiration is configured for the object (see
10020
- # PutBucketLifecycleConfiguration), the response includes this header.
10021
- # It includes the expiry-date and rule-id key-value pairs that provide
10022
- # information about object expiration. The value of the rule-id is URL
10023
- # encoded.
11187
+ # [PutBucketLifecycleConfiguration][1]), the response includes this
11188
+ # header. It includes the expiry-date and rule-id key-value pairs that
11189
+ # provide information about object expiration. The value of the
11190
+ # rule-id is URL encoded.
11191
+ #
11192
+ #
11193
+ #
11194
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
10024
11195
  # @return [String]
10025
11196
  #
10026
11197
  # @!attribute [rw] etag
@@ -10110,7 +11281,7 @@ module Aws::S3
10110
11281
  # "MetadataKey" => "MetadataValue",
10111
11282
  # },
10112
11283
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
10113
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
11284
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
10114
11285
  # website_redirect_location: "WebsiteRedirectLocation",
10115
11286
  # sse_customer_algorithm: "SSECustomerAlgorithm",
10116
11287
  # sse_customer_key: "SSECustomerKey",
@@ -10122,12 +11293,15 @@ module Aws::S3
10122
11293
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
10123
11294
  # object_lock_retain_until_date: Time.now,
10124
11295
  # object_lock_legal_hold_status: "ON", # accepts ON, OFF
11296
+ # expected_bucket_owner: "AccountId",
10125
11297
  # }
10126
11298
  #
10127
11299
  # @!attribute [rw] acl
10128
11300
  # The canned ACL to apply to the object. For more information, see
10129
11301
  # [Canned ACL][1].
10130
11302
  #
11303
+ # This action is not supported by Amazon S3 on Outposts.
11304
+ #
10131
11305
  #
10132
11306
  #
10133
11307
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@@ -10138,20 +11312,30 @@ module Aws::S3
10138
11312
  # @return [IO]
10139
11313
  #
10140
11314
  # @!attribute [rw] bucket
10141
- # Bucket name to which the PUT operation was initiated.
11315
+ # The bucket name to which the PUT operation was initiated.
10142
11316
  #
10143
11317
  # When using this API with an access point, you must direct requests
10144
11318
  # to the access point hostname. The access point hostname takes the
10145
11319
  # form
10146
11320
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10147
- # When using this operation using an access point through the AWS
10148
- # SDKs, you provide the access point ARN in place of the bucket name.
10149
- # For more information about access point ARNs, see [Using Access
11321
+ # When using this operation with an access point through the AWS SDKs,
11322
+ # you provide the access point ARN in place of the bucket name. For
11323
+ # more information about access point ARNs, see [Using Access
10150
11324
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
10151
11325
  #
11326
+ # When using this API with Amazon S3 on Outposts, you must direct
11327
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11328
+ # takes the form
11329
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11330
+ # When using this operation using S3 on Outposts through the AWS SDKs,
11331
+ # you provide the Outposts bucket ARN in place of the bucket name. For
11332
+ # more information about S3 on Outposts ARNs, see [Using S3 on
11333
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
11334
+ #
10152
11335
  #
10153
11336
  #
10154
11337
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
11338
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
10155
11339
  # @return [String]
10156
11340
  #
10157
11341
  # @!attribute [rw] cache_control
@@ -10238,18 +11422,26 @@ module Aws::S3
10238
11422
  # @!attribute [rw] grant_full_control
10239
11423
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
10240
11424
  # object.
11425
+ #
11426
+ # This action is not supported by Amazon S3 on Outposts.
10241
11427
  # @return [String]
10242
11428
  #
10243
11429
  # @!attribute [rw] grant_read
10244
11430
  # Allows grantee to read the object data and its metadata.
11431
+ #
11432
+ # This action is not supported by Amazon S3 on Outposts.
10245
11433
  # @return [String]
10246
11434
  #
10247
11435
  # @!attribute [rw] grant_read_acp
10248
11436
  # Allows grantee to read the object ACL.
11437
+ #
11438
+ # This action is not supported by Amazon S3 on Outposts.
10249
11439
  # @return [String]
10250
11440
  #
10251
11441
  # @!attribute [rw] grant_write_acp
10252
11442
  # Allows grantee to write the ACL for the applicable object.
11443
+ #
11444
+ # This action is not supported by Amazon S3 on Outposts.
10253
11445
  # @return [String]
10254
11446
  #
10255
11447
  # @!attribute [rw] key
@@ -10266,8 +11458,16 @@ module Aws::S3
10266
11458
  # @return [String]
10267
11459
  #
10268
11460
  # @!attribute [rw] storage_class
10269
- # If you don't specify, S3 Standard is the default storage class.
10270
- # Amazon S3 supports other storage classes.
11461
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
11462
+ # created objects. The STANDARD storage class provides high durability
11463
+ # and high availability. Depending on performance needs, you can
11464
+ # specify a different Storage Class. Amazon S3 on Outposts only uses
11465
+ # the OUTPOSTS Storage Class. For more information, see [Storage
11466
+ # Classes][1] in the *Amazon S3 Service Developer Guide*.
11467
+ #
11468
+ #
11469
+ #
11470
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
10271
11471
  # @return [String]
10272
11472
  #
10273
11473
  # @!attribute [rw] website_redirect_location
@@ -10308,7 +11508,7 @@ module Aws::S3
10308
11508
  # in encrypting data. This value is used to store the object and then
10309
11509
  # it is discarded; Amazon S3 does not store the encryption key. The
10310
11510
  # key must be appropriate for use with the algorithm specified in the
10311
- # `x-amz-server-side​-encryption​-customer-algorithm` header.
11511
+ # `x-amz-server-side-encryption-customer-algorithm` header.
10312
11512
  # @return [String]
10313
11513
  #
10314
11514
  # @!attribute [rw] sse_customer_key_md5
@@ -10372,6 +11572,12 @@ module Aws::S3
10372
11572
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
10373
11573
  # @return [String]
10374
11574
  #
11575
+ # @!attribute [rw] expected_bucket_owner
11576
+ # The account id of the expected bucket owner. If the bucket is owned
11577
+ # by a different account, the request will fail with an HTTP `403
11578
+ # (Access Denied)` error.
11579
+ # @return [String]
11580
+ #
10375
11581
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRequest AWS API Documentation
10376
11582
  #
10377
11583
  class PutObjectRequest < Struct.new(
@@ -10404,7 +11610,8 @@ module Aws::S3
10404
11610
  :tagging,
10405
11611
  :object_lock_mode,
10406
11612
  :object_lock_retain_until_date,
10407
- :object_lock_legal_hold_status)
11613
+ :object_lock_legal_hold_status,
11614
+ :expected_bucket_owner)
10408
11615
  SENSITIVE = [:sse_customer_key, :ssekms_key_id, :ssekms_encryption_context]
10409
11616
  include Aws::Structure
10410
11617
  end
@@ -10436,6 +11643,7 @@ module Aws::S3
10436
11643
  # version_id: "ObjectVersionId",
10437
11644
  # bypass_governance_retention: false,
10438
11645
  # content_md5: "ContentMD5",
11646
+ # expected_bucket_owner: "AccountId",
10439
11647
  # }
10440
11648
  #
10441
11649
  # @!attribute [rw] bucket
@@ -10446,9 +11654,9 @@ module Aws::S3
10446
11654
  # to the access point hostname. The access point hostname takes the
10447
11655
  # form
10448
11656
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10449
- # When using this operation using an access point through the AWS
10450
- # SDKs, you provide the access point ARN in place of the bucket name.
10451
- # For more information about access point ARNs, see [Using Access
11657
+ # When using this operation with an access point through the AWS SDKs,
11658
+ # you provide the access point ARN in place of the bucket name. For
11659
+ # more information about access point ARNs, see [Using Access
10452
11660
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
10453
11661
  #
10454
11662
  #
@@ -10491,6 +11699,12 @@ module Aws::S3
10491
11699
  # The MD5 hash for the request body.
10492
11700
  # @return [String]
10493
11701
  #
11702
+ # @!attribute [rw] expected_bucket_owner
11703
+ # The account id of the expected bucket owner. If the bucket is owned
11704
+ # by a different account, the request will fail with an HTTP `403
11705
+ # (Access Denied)` error.
11706
+ # @return [String]
11707
+ #
10494
11708
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetentionRequest AWS API Documentation
10495
11709
  #
10496
11710
  class PutObjectRetentionRequest < Struct.new(
@@ -10500,7 +11714,8 @@ module Aws::S3
10500
11714
  :request_payer,
10501
11715
  :version_id,
10502
11716
  :bypass_governance_retention,
10503
- :content_md5)
11717
+ :content_md5,
11718
+ :expected_bucket_owner)
10504
11719
  SENSITIVE = []
10505
11720
  include Aws::Structure
10506
11721
  end
@@ -10533,6 +11748,7 @@ module Aws::S3
10533
11748
  # },
10534
11749
  # ],
10535
11750
  # },
11751
+ # expected_bucket_owner: "AccountId",
10536
11752
  # }
10537
11753
  #
10538
11754
  # @!attribute [rw] bucket
@@ -10542,18 +11758,28 @@ module Aws::S3
10542
11758
  # to the access point hostname. The access point hostname takes the
10543
11759
  # form
10544
11760
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10545
- # When using this operation using an access point through the AWS
10546
- # SDKs, you provide the access point ARN in place of the bucket name.
10547
- # For more information about access point ARNs, see [Using Access
11761
+ # When using this operation with an access point through the AWS SDKs,
11762
+ # you provide the access point ARN in place of the bucket name. For
11763
+ # more information about access point ARNs, see [Using Access
10548
11764
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
10549
11765
  #
11766
+ # When using this API with Amazon S3 on Outposts, you must direct
11767
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11768
+ # takes the form
11769
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11770
+ # When using this operation using S3 on Outposts through the AWS SDKs,
11771
+ # you provide the Outposts bucket ARN in place of the bucket name. For
11772
+ # more information about S3 on Outposts ARNs, see [Using S3 on
11773
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
11774
+ #
10550
11775
  #
10551
11776
  #
10552
11777
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
11778
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
10553
11779
  # @return [String]
10554
11780
  #
10555
11781
  # @!attribute [rw] key
10556
- # Name of the tag.
11782
+ # Name of the object key.
10557
11783
  # @return [String]
10558
11784
  #
10559
11785
  # @!attribute [rw] version_id
@@ -10568,6 +11794,12 @@ module Aws::S3
10568
11794
  # Container for the `TagSet` and `Tag` elements
10569
11795
  # @return [Types::Tagging]
10570
11796
  #
11797
+ # @!attribute [rw] expected_bucket_owner
11798
+ # The account id of the expected bucket owner. If the bucket is owned
11799
+ # by a different account, the request will fail with an HTTP `403
11800
+ # (Access Denied)` error.
11801
+ # @return [String]
11802
+ #
10571
11803
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTaggingRequest AWS API Documentation
10572
11804
  #
10573
11805
  class PutObjectTaggingRequest < Struct.new(
@@ -10575,7 +11807,8 @@ module Aws::S3
10575
11807
  :key,
10576
11808
  :version_id,
10577
11809
  :content_md5,
10578
- :tagging)
11810
+ :tagging,
11811
+ :expected_bucket_owner)
10579
11812
  SENSITIVE = []
10580
11813
  include Aws::Structure
10581
11814
  end
@@ -10592,6 +11825,7 @@ module Aws::S3
10592
11825
  # block_public_policy: false,
10593
11826
  # restrict_public_buckets: false,
10594
11827
  # },
11828
+ # expected_bucket_owner: "AccountId",
10595
11829
  # }
10596
11830
  #
10597
11831
  # @!attribute [rw] bucket
@@ -10615,12 +11849,19 @@ module Aws::S3
10615
11849
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
10616
11850
  # @return [Types::PublicAccessBlockConfiguration]
10617
11851
  #
11852
+ # @!attribute [rw] expected_bucket_owner
11853
+ # The account id of the expected bucket owner. If the bucket is owned
11854
+ # by a different account, the request will fail with an HTTP `403
11855
+ # (Access Denied)` error.
11856
+ # @return [String]
11857
+ #
10618
11858
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlockRequest AWS API Documentation
10619
11859
  #
10620
11860
  class PutPublicAccessBlockRequest < Struct.new(
10621
11861
  :bucket,
10622
11862
  :content_md5,
10623
- :public_access_block_configuration)
11863
+ :public_access_block_configuration,
11864
+ :expected_bucket_owner)
10624
11865
  SENSITIVE = []
10625
11866
  include Aws::Structure
10626
11867
  end
@@ -10685,11 +11926,15 @@ module Aws::S3
10685
11926
  include Aws::Structure
10686
11927
  end
10687
11928
 
10688
- # This data type is deprecated. Use QueueConfiguration for the same
11929
+ # This data type is deprecated. Use [QueueConfiguration][1] for the same
10689
11930
  # purposes. This data type specifies the configuration for publishing
10690
11931
  # messages to an Amazon Simple Queue Service (Amazon SQS) queue when
10691
11932
  # Amazon S3 detects specified events.
10692
11933
  #
11934
+ #
11935
+ #
11936
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_QueueConfiguration.html
11937
+ #
10693
11938
  # @note When making an API call, you may pass QueueConfigurationDeprecated
10694
11939
  # data as a hash:
10695
11940
  #
@@ -10873,7 +12118,7 @@ module Aws::S3
10873
12118
  # destination: { # required
10874
12119
  # bucket: "BucketName", # required
10875
12120
  # account: "AccountId",
10876
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
12121
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
10877
12122
  # access_control_translation: {
10878
12123
  # owner: "Destination", # required, accepts Destination
10879
12124
  # },
@@ -10964,7 +12209,7 @@ module Aws::S3
10964
12209
  # destination: { # required
10965
12210
  # bucket: "BucketName", # required
10966
12211
  # account: "AccountId",
10967
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
12212
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
10968
12213
  # access_control_translation: {
10969
12214
  # owner: "Destination", # required, accepts Destination
10970
12215
  # },
@@ -11389,11 +12634,12 @@ module Aws::S3
11389
12634
  # value: "MetadataValue",
11390
12635
  # },
11391
12636
  # ],
11392
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
12637
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
11393
12638
  # },
11394
12639
  # },
11395
12640
  # },
11396
12641
  # request_payer: "requester", # accepts requester
12642
+ # expected_bucket_owner: "AccountId",
11397
12643
  # }
11398
12644
  #
11399
12645
  # @!attribute [rw] bucket
@@ -11403,14 +12649,24 @@ module Aws::S3
11403
12649
  # to the access point hostname. The access point hostname takes the
11404
12650
  # form
11405
12651
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11406
- # When using this operation using an access point through the AWS
11407
- # SDKs, you provide the access point ARN in place of the bucket name.
11408
- # For more information about access point ARNs, see [Using Access
12652
+ # When using this operation with an access point through the AWS SDKs,
12653
+ # you provide the access point ARN in place of the bucket name. For
12654
+ # more information about access point ARNs, see [Using Access
11409
12655
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
11410
12656
  #
12657
+ # When using this API with Amazon S3 on Outposts, you must direct
12658
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12659
+ # takes the form
12660
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12661
+ # When using this operation using S3 on Outposts through the AWS SDKs,
12662
+ # you provide the Outposts bucket ARN in place of the bucket name. For
12663
+ # more information about S3 on Outposts ARNs, see [Using S3 on
12664
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
12665
+ #
11411
12666
  #
11412
12667
  #
11413
12668
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
12669
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
11414
12670
  # @return [String]
11415
12671
  #
11416
12672
  # @!attribute [rw] key
@@ -11437,6 +12693,12 @@ module Aws::S3
11437
12693
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
11438
12694
  # @return [String]
11439
12695
  #
12696
+ # @!attribute [rw] expected_bucket_owner
12697
+ # The account id of the expected bucket owner. If the bucket is owned
12698
+ # by a different account, the request will fail with an HTTP `403
12699
+ # (Access Denied)` error.
12700
+ # @return [String]
12701
+ #
11440
12702
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObjectRequest AWS API Documentation
11441
12703
  #
11442
12704
  class RestoreObjectRequest < Struct.new(
@@ -11444,7 +12706,8 @@ module Aws::S3
11444
12706
  :key,
11445
12707
  :version_id,
11446
12708
  :restore_request,
11447
- :request_payer)
12709
+ :request_payer,
12710
+ :expected_bucket_owner)
11448
12711
  SENSITIVE = []
11449
12712
  include Aws::Structure
11450
12713
  end
@@ -11531,7 +12794,7 @@ module Aws::S3
11531
12794
  # value: "MetadataValue",
11532
12795
  # },
11533
12796
  # ],
11534
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
12797
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
11535
12798
  # },
11536
12799
  # },
11537
12800
  # }
@@ -11580,7 +12843,14 @@ module Aws::S3
11580
12843
  include Aws::Structure
11581
12844
  end
11582
12845
 
11583
- # Specifies the redirect behavior and when a redirect is applied.
12846
+ # Specifies the redirect behavior and when a redirect is applied. For
12847
+ # more information about routing rules, see [Configuring advanced
12848
+ # conditional redirects][1] in the *Amazon Simple Storage Service
12849
+ # Developer Guide*.
12850
+ #
12851
+ #
12852
+ #
12853
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects
11584
12854
  #
11585
12855
  # @note When making an API call, you may pass RoutingRule
11586
12856
  # data as a hash:
@@ -11806,7 +13076,7 @@ module Aws::S3
11806
13076
  # value: "MetadataValue",
11807
13077
  # },
11808
13078
  # ],
11809
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
13079
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
11810
13080
  # }
11811
13081
  #
11812
13082
  # @!attribute [rw] bucket_name
@@ -12000,6 +13270,7 @@ module Aws::S3
12000
13270
  # start: 1,
12001
13271
  # end: 1,
12002
13272
  # },
13273
+ # expected_bucket_owner: "AccountId",
12003
13274
  # }
12004
13275
  #
12005
13276
  # @!attribute [rw] bucket
@@ -12081,6 +13352,12 @@ module Aws::S3
12081
13352
  # within the last 50 bytes of the file.
12082
13353
  # @return [Types::ScanRange]
12083
13354
  #
13355
+ # @!attribute [rw] expected_bucket_owner
13356
+ # The account id of the expected bucket owner. If the bucket is owned
13357
+ # by a different account, the request will fail with an HTTP `403
13358
+ # (Access Denied)` error.
13359
+ # @return [String]
13360
+ #
12084
13361
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContentRequest AWS API Documentation
12085
13362
  #
12086
13363
  class SelectObjectContentRequest < Struct.new(
@@ -12094,7 +13371,8 @@ module Aws::S3
12094
13371
  :request_progress,
12095
13372
  :input_serialization,
12096
13373
  :output_serialization,
12097
- :scan_range)
13374
+ :scan_range,
13375
+ :expected_bucket_owner)
12098
13376
  SENSITIVE = [:sse_customer_key]
12099
13377
  include Aws::Structure
12100
13378
  end
@@ -12453,7 +13731,7 @@ module Aws::S3
12453
13731
  # }
12454
13732
  #
12455
13733
  # @!attribute [rw] key
12456
- # Name of the tag.
13734
+ # Name of the object key.
12457
13735
  # @return [String]
12458
13736
  #
12459
13737
  # @!attribute [rw] value
@@ -12516,7 +13794,7 @@ module Aws::S3
12516
13794
  # @return [Types::Grantee]
12517
13795
  #
12518
13796
  # @!attribute [rw] permission
12519
- # Logging permissions assigned to the Grantee for the bucket.
13797
+ # Logging permissions assigned to the grantee for the bucket.
12520
13798
  # @return [String]
12521
13799
  #
12522
13800
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TargetGrant AWS API Documentation
@@ -12597,7 +13875,11 @@ module Aws::S3
12597
13875
  # A container for specifying the configuration for publication of
12598
13876
  # messages to an Amazon Simple Notification Service (Amazon SNS) topic
12599
13877
  # when Amazon S3 detects specified events. This data type is deprecated.
12600
- # Use TopicConfiguration instead.
13878
+ # Use [TopicConfiguration][1] instead.
13879
+ #
13880
+ #
13881
+ #
13882
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_TopicConfiguration.html
12601
13883
  #
12602
13884
  # @note When making an API call, you may pass TopicConfigurationDeprecated
12603
13885
  # data as a hash:
@@ -12756,15 +14038,82 @@ module Aws::S3
12756
14038
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
12757
14039
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
12758
14040
  # request_payer: "requester", # accepts requester
14041
+ # expected_bucket_owner: "AccountId",
14042
+ # expected_source_bucket_owner: "AccountId",
12759
14043
  # }
12760
14044
  #
12761
14045
  # @!attribute [rw] bucket
12762
14046
  # The bucket name.
14047
+ #
14048
+ # When using this API with an access point, you must direct requests
14049
+ # to the access point hostname. The access point hostname takes the
14050
+ # form
14051
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
14052
+ # When using this operation with an access point through the AWS SDKs,
14053
+ # you provide the access point ARN in place of the bucket name. For
14054
+ # more information about access point ARNs, see [Using Access
14055
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
14056
+ #
14057
+ # When using this API with Amazon S3 on Outposts, you must direct
14058
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14059
+ # takes the form
14060
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
14061
+ # When using this operation using S3 on Outposts through the AWS SDKs,
14062
+ # you provide the Outposts bucket ARN in place of the bucket name. For
14063
+ # more information about S3 on Outposts ARNs, see [Using S3 on
14064
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
14065
+ #
14066
+ #
14067
+ #
14068
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
14069
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
12763
14070
  # @return [String]
12764
14071
  #
12765
14072
  # @!attribute [rw] copy_source
12766
- # The name of the source bucket and key name of the source object,
12767
- # separated by a slash (/). Must be URL-encoded.
14073
+ # Specifies the source object for the copy operation. You specify the
14074
+ # value in one of two formats, depending on whether you want to access
14075
+ # the source object through an [access point][1]\:
14076
+ #
14077
+ # * For objects not accessed through an access point, specify the name
14078
+ # of the source bucket and key of the source object, separated by a
14079
+ # slash (/). For example, to copy the object `reports/january.pdf`
14080
+ # from the bucket `awsexamplebucket`, use
14081
+ # `awsexamplebucket/reports/january.pdf`. The value must be URL
14082
+ # encoded.
14083
+ #
14084
+ # * For objects accessed through access points, specify the Amazon
14085
+ # Resource Name (ARN) of the object as accessed through the access
14086
+ # point, in the format
14087
+ # `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
14088
+ # For example, to copy the object `reports/january.pdf` through
14089
+ # access point `my-access-point` owned by account `123456789012` in
14090
+ # Region `us-west-2`, use the URL encoding of
14091
+ # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
14092
+ # The value must be URL encoded.
14093
+ #
14094
+ # <note markdown="1"> Amazon S3 supports copy operations using access points only when
14095
+ # the source and destination buckets are in the same AWS Region.
14096
+ #
14097
+ # </note>
14098
+ #
14099
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
14100
+ # specify the ARN of the object as accessed in the format
14101
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
14102
+ # For example, to copy the object `reports/january.pdf` through
14103
+ # outpost `my-outpost` owned by account `123456789012` in Region
14104
+ # `us-west-2`, use the URL encoding of
14105
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
14106
+ # The value must be URL encoded.
14107
+ #
14108
+ # To copy a specific version of an object, append
14109
+ # `?versionId=<version-id>` to the value (for example,
14110
+ # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
14111
+ # If you don't specify a version ID, Amazon S3 copies the latest
14112
+ # version of the source object.
14113
+ #
14114
+ #
14115
+ #
14116
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
12768
14117
  # @return [String]
12769
14118
  #
12770
14119
  # @!attribute [rw] copy_source_if_match
@@ -12818,8 +14167,8 @@ module Aws::S3
12818
14167
  # in encrypting data. This value is used to store the object and then
12819
14168
  # it is discarded; Amazon S3 does not store the encryption key. The
12820
14169
  # key must be appropriate for use with the algorithm specified in the
12821
- # `x-amz-server-side​-encryption​-customer-algorithm` header. This
12822
- # must be the same encryption key specified in the initiate multipart
14170
+ # `x-amz-server-side-encryption-customer-algorithm` header. This must
14171
+ # be the same encryption key specified in the initiate multipart
12823
14172
  # upload request.
12824
14173
  # @return [String]
12825
14174
  #
@@ -12858,6 +14207,18 @@ module Aws::S3
12858
14207
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
12859
14208
  # @return [String]
12860
14209
  #
14210
+ # @!attribute [rw] expected_bucket_owner
14211
+ # The account id of the expected destination bucket owner. If the
14212
+ # destination bucket is owned by a different account, the request will
14213
+ # fail with an HTTP `403 (Access Denied)` error.
14214
+ # @return [String]
14215
+ #
14216
+ # @!attribute [rw] expected_source_bucket_owner
14217
+ # The account id of the expected source bucket owner. If the source
14218
+ # bucket is owned by a different account, the request will fail with
14219
+ # an HTTP `403 (Access Denied)` error.
14220
+ # @return [String]
14221
+ #
12861
14222
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopyRequest AWS API Documentation
12862
14223
  #
12863
14224
  class UploadPartCopyRequest < Struct.new(
@@ -12877,7 +14238,9 @@ module Aws::S3
12877
14238
  :copy_source_sse_customer_algorithm,
12878
14239
  :copy_source_sse_customer_key,
12879
14240
  :copy_source_sse_customer_key_md5,
12880
- :request_payer)
14241
+ :request_payer,
14242
+ :expected_bucket_owner,
14243
+ :expected_source_bucket_owner)
12881
14244
  SENSITIVE = [:sse_customer_key, :copy_source_sse_customer_key]
12882
14245
  include Aws::Structure
12883
14246
  end
@@ -12943,6 +14306,7 @@ module Aws::S3
12943
14306
  # sse_customer_key: "SSECustomerKey",
12944
14307
  # sse_customer_key_md5: "SSECustomerKeyMD5",
12945
14308
  # request_payer: "requester", # accepts requester
14309
+ # expected_bucket_owner: "AccountId",
12946
14310
  # }
12947
14311
  #
12948
14312
  # @!attribute [rw] body
@@ -12950,7 +14314,30 @@ module Aws::S3
12950
14314
  # @return [IO]
12951
14315
  #
12952
14316
  # @!attribute [rw] bucket
12953
- # Name of the bucket to which the multipart upload was initiated.
14317
+ # The name of the bucket to which the multipart upload was initiated.
14318
+ #
14319
+ # When using this API with an access point, you must direct requests
14320
+ # to the access point hostname. The access point hostname takes the
14321
+ # form
14322
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
14323
+ # When using this operation with an access point through the AWS SDKs,
14324
+ # you provide the access point ARN in place of the bucket name. For
14325
+ # more information about access point ARNs, see [Using Access
14326
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
14327
+ #
14328
+ # When using this API with Amazon S3 on Outposts, you must direct
14329
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14330
+ # takes the form
14331
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
14332
+ # When using this operation using S3 on Outposts through the AWS SDKs,
14333
+ # you provide the Outposts bucket ARN in place of the bucket name. For
14334
+ # more information about S3 on Outposts ARNs, see [Using S3 on
14335
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
14336
+ #
14337
+ #
14338
+ #
14339
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
14340
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
12954
14341
  # @return [String]
12955
14342
  #
12956
14343
  # @!attribute [rw] content_length
@@ -12988,8 +14375,8 @@ module Aws::S3
12988
14375
  # in encrypting data. This value is used to store the object and then
12989
14376
  # it is discarded; Amazon S3 does not store the encryption key. The
12990
14377
  # key must be appropriate for use with the algorithm specified in the
12991
- # `x-amz-server-side​-encryption​-customer-algorithm header`. This
12992
- # must be the same encryption key specified in the initiate multipart
14378
+ # `x-amz-server-side-encryption-customer-algorithm header`. This must
14379
+ # be the same encryption key specified in the initiate multipart
12993
14380
  # upload request.
12994
14381
  # @return [String]
12995
14382
  #
@@ -13011,6 +14398,12 @@ module Aws::S3
13011
14398
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
13012
14399
  # @return [String]
13013
14400
  #
14401
+ # @!attribute [rw] expected_bucket_owner
14402
+ # The account id of the expected bucket owner. If the bucket is owned
14403
+ # by a different account, the request will fail with an HTTP `403
14404
+ # (Access Denied)` error.
14405
+ # @return [String]
14406
+ #
13014
14407
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartRequest AWS API Documentation
13015
14408
  #
13016
14409
  class UploadPartRequest < Struct.new(
@@ -13024,7 +14417,8 @@ module Aws::S3
13024
14417
  :sse_customer_algorithm,
13025
14418
  :sse_customer_key,
13026
14419
  :sse_customer_key_md5,
13027
- :request_payer)
14420
+ :request_payer,
14421
+ :expected_bucket_owner)
13028
14422
  SENSITIVE = [:sse_customer_key]
13029
14423
  include Aws::Structure
13030
14424
  end