aws-sdk-s3 1.106.0 → 1.109.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -155,7 +155,9 @@ module Aws::S3
155
155
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
156
156
  # are very aggressive. Construct and pass an instance of
157
157
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
158
- # enable retries and extended timeouts.
158
+ # enable retries and extended timeouts. Instance profile credential
159
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
160
+ # to true.
159
161
  #
160
162
  # @option options [required, String] :region
161
163
  # The AWS region to connect to. The configured `:region` is
@@ -571,6 +573,11 @@ module Aws::S3
571
573
  # prepared to retry the failed requests. For more information, see
572
574
  # [Amazon S3 Error Best Practices][2].
573
575
  #
576
+ # You cannot use `Content-Type: application/x-www-form-urlencoded` with
577
+ # Complete Multipart Upload requests. Also, if you do not provide a
578
+ # `Content-Type` header, `CompleteMultipartUpload` returns a 200 OK
579
+ # response.
580
+ #
574
581
  # For more information about multipart uploads, see [Uploading Objects
575
582
  # Using Multipart Upload][3].
576
583
  #
@@ -891,11 +898,28 @@ module Aws::S3
891
898
  # Control List (ACL) Overview][10] and [Managing ACLs Using the REST
892
899
  # API][11].
893
900
  #
901
+ # If the bucket that you're copying objects to uses the bucket owner
902
+ # enforced setting for S3 Object Ownership, ACLs are disabled and no
903
+ # longer affect permissions. Buckets that use this setting only accept
904
+ # PUT requests that don't specify an ACL or PUT requests that specify
905
+ # bucket owner full control ACLs, such as the
906
+ # `bucket-owner-full-control` canned ACL or an equivalent form of this
907
+ # ACL expressed in the XML format.
908
+ #
909
+ # For more information, see [ Controlling ownership of objects and
910
+ # disabling ACLs][12] in the *Amazon S3 User Guide*.
911
+ #
912
+ # <note markdown="1"> If your bucket uses the bucket owner enforced setting for Object
913
+ # Ownership, all objects written to the bucket by any account will be
914
+ # owned by the bucket owner.
915
+ #
916
+ # </note>
917
+ #
894
918
  # **Storage Class Options**
895
919
  #
896
920
  # You can use the `CopyObject` action to change the storage class of an
897
921
  # object that is already stored in Amazon S3 using the `StorageClass`
898
- # parameter. For more information, see [Storage Classes][12] in the
922
+ # parameter. For more information, see [Storage Classes][13] in the
899
923
  # *Amazon S3 User Guide*.
900
924
  #
901
925
  # **Versioning**
@@ -916,15 +940,15 @@ module Aws::S3
916
940
  #
917
941
  # If the source object's storage class is GLACIER, you must restore a
918
942
  # copy of this object before you can use it as a source object for the
919
- # copy operation. For more information, see [RestoreObject][13].
943
+ # copy operation. For more information, see [RestoreObject][14].
920
944
  #
921
945
  # The following operations are related to `CopyObject`\:
922
946
  #
923
- # * [PutObject][14]
947
+ # * [PutObject][15]
924
948
  #
925
- # * [GetObject][15]
949
+ # * [GetObject][16]
926
950
  #
927
- # For more information, see [Copying Objects][16].
951
+ # For more information, see [Copying Objects][17].
928
952
  #
929
953
  #
930
954
  #
@@ -939,11 +963,12 @@ module Aws::S3
939
963
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
940
964
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
941
965
  # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
942
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
943
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
944
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
945
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
946
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
966
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
967
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
968
+ # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
969
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
970
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
971
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
947
972
  #
948
973
  # @option params [String] :acl
949
974
  # The canned ACL to apply to the object.
@@ -1265,7 +1290,7 @@ module Aws::S3
1265
1290
  # metadata_directive: "COPY", # accepts COPY, REPLACE
1266
1291
  # tagging_directive: "COPY", # accepts COPY, REPLACE
1267
1292
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1268
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1293
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
1269
1294
  # website_redirect_location: "WebsiteRedirectLocation",
1270
1295
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1271
1296
  # sse_customer_key: "SSECustomerKey",
@@ -1338,22 +1363,33 @@ module Aws::S3
1338
1363
  #
1339
1364
  # </note>
1340
1365
  #
1366
+ # **Access control lists (ACLs)**
1367
+ #
1341
1368
  # When creating a bucket using this operation, you can optionally
1342
- # specify the accounts or groups that should be granted specific
1343
- # permissions on the bucket. There are two ways to grant the appropriate
1344
- # permissions using the request headers.
1369
+ # configure the bucket ACL to specify the accounts or groups that should
1370
+ # be granted specific permissions on the bucket.
1371
+ #
1372
+ # If your CreateBucket request includes the `BucketOwnerEnforced` value
1373
+ # for the `x-amz-object-ownership` header, your request can either not
1374
+ # specify an ACL or specify bucket owner full control ACLs, such as the
1375
+ # `bucket-owner-full-control` canned ACL or an equivalent ACL expressed
1376
+ # in the XML format. For more information, see [Controlling object
1377
+ # ownership][5] in the *Amazon S3 User Guide*.
1378
+ #
1379
+ # There are two ways to grant the appropriate permissions using the
1380
+ # request headers.
1345
1381
  #
1346
1382
  # * Specify a canned ACL using the `x-amz-acl` request header. Amazon S3
1347
1383
  # supports a set of predefined ACLs, known as *canned ACLs*. Each
1348
1384
  # canned ACL has a predefined set of grantees and permissions. For
1349
- # more information, see [Canned ACL][5].
1385
+ # more information, see [Canned ACL][6].
1350
1386
  #
1351
1387
  # * Specify access permissions explicitly using the `x-amz-grant-read`,
1352
1388
  # `x-amz-grant-write`, `x-amz-grant-read-acp`,
1353
1389
  # `x-amz-grant-write-acp`, and `x-amz-grant-full-control` headers.
1354
1390
  # These headers map to the set of permissions Amazon S3 supports in an
1355
1391
  # ACL. For more information, see [Access control list (ACL)
1356
- # overview][6].
1392
+ # overview][7].
1357
1393
  #
1358
1394
  # You specify each grantee as a type=value pair, where the type is one
1359
1395
  # of the following:
@@ -1386,7 +1422,7 @@ module Aws::S3
1386
1422
  # * South America (São Paulo)
1387
1423
  #
1388
1424
  # For a list of all the Amazon S3 supported Regions and endpoints,
1389
- # see [Regions and Endpoints][7] in the Amazon Web Services General
1425
+ # see [Regions and Endpoints][8] in the Amazon Web Services General
1390
1426
  # Reference.
1391
1427
  #
1392
1428
  # </note>
@@ -1404,22 +1440,29 @@ module Aws::S3
1404
1440
  #
1405
1441
  # **Permissions**
1406
1442
  #
1407
- # If your `CreateBucket` request specifies ACL permissions and the ACL
1408
- # is public-read, public-read-write, authenticated-read, or if you
1409
- # specify access permissions explicitly through any other ACL, both
1410
- # `s3:CreateBucket` and `s3:PutBucketAcl` permissions are needed. If the
1411
- # ACL the `CreateBucket` request is private, only `s3:CreateBucket`
1412
- # permission is needed.
1443
+ # In addition to `s3:CreateBucket`, the following permissions are
1444
+ # required when your CreateBucket includes specific headers:
1413
1445
  #
1414
- # If `ObjectLockEnabledForBucket` is set to true in your `CreateBucket`
1415
- # request, `s3:PutBucketObjectLockConfiguration` and
1416
- # `s3:PutBucketVersioning` permissions are required.
1446
+ # * **ACLs** - If your `CreateBucket` request specifies ACL permissions
1447
+ # and the ACL is public-read, public-read-write, authenticated-read,
1448
+ # or if you specify access permissions explicitly through any other
1449
+ # ACL, both `s3:CreateBucket` and `s3:PutBucketAcl` permissions are
1450
+ # needed. If the ACL the `CreateBucket` request is private or doesn't
1451
+ # specify any ACLs, only `s3:CreateBucket` permission is needed.
1452
+ #
1453
+ # * **Object Lock** - If `ObjectLockEnabledForBucket` is set to true in
1454
+ # your `CreateBucket` request, `s3:PutBucketObjectLockConfiguration`
1455
+ # and `s3:PutBucketVersioning` permissions are required.
1456
+ #
1457
+ # * **S3 Object Ownership** - If your CreateBucket request includes the
1458
+ # the `x-amz-object-ownership` header, `s3:PutBucketOwnershipControls`
1459
+ # permission is required.
1417
1460
  #
1418
1461
  # The following operations are related to `CreateBucket`\:
1419
1462
  #
1420
- # * [PutObject][8]
1463
+ # * [PutObject][9]
1421
1464
  #
1422
- # * [DeleteBucket][9]
1465
+ # * [DeleteBucket][10]
1423
1466
  #
1424
1467
  #
1425
1468
  #
@@ -1427,11 +1470,12 @@ module Aws::S3
1427
1470
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
1428
1471
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro
1429
1472
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
1430
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1431
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1432
- # [7]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1433
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1434
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1473
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
1474
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1475
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html
1476
+ # [8]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1477
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1478
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1435
1479
  #
1436
1480
  # @option params [String] :acl
1437
1481
  # The canned ACL to apply to the bucket.
@@ -1465,38 +1509,56 @@ module Aws::S3
1465
1509
  # Specifies whether you want S3 Object Lock to be enabled for the new
1466
1510
  # bucket.
1467
1511
  #
1512
+ # @option params [String] :object_ownership
1513
+ # The container element for object ownership for a bucket's ownership
1514
+ # controls.
1515
+ #
1516
+ # BucketOwnerPreferred - Objects uploaded to the bucket change ownership
1517
+ # to the bucket owner if the objects are uploaded with the
1518
+ # `bucket-owner-full-control` canned ACL.
1519
+ #
1520
+ # ObjectWriter - The uploading account will own the object if the object
1521
+ # is uploaded with the `bucket-owner-full-control` canned ACL.
1522
+ #
1523
+ # BucketOwnerEnforced - Access control lists (ACLs) are disabled and no
1524
+ # longer affect permissions. The bucket owner automatically owns and has
1525
+ # full control over every object in the bucket. The bucket only accepts
1526
+ # PUT requests that don't specify an ACL or bucket owner full control
1527
+ # ACLs, such as the `bucket-owner-full-control` canned ACL or an
1528
+ # equivalent form of this ACL expressed in the XML format.
1529
+ #
1468
1530
  # @return [Types::CreateBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1469
1531
  #
1470
1532
  # * {Types::CreateBucketOutput#location #location} => String
1471
1533
  #
1472
1534
  #
1473
- # @example Example: To create a bucket
1535
+ # @example Example: To create a bucket in a specific region
1474
1536
  #
1475
- # # The following example creates a bucket.
1537
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1476
1538
  #
1477
1539
  # resp = client.create_bucket({
1478
1540
  # bucket: "examplebucket",
1541
+ # create_bucket_configuration: {
1542
+ # location_constraint: "eu-west-1",
1543
+ # },
1479
1544
  # })
1480
1545
  #
1481
1546
  # resp.to_h outputs the following:
1482
1547
  # {
1483
- # location: "/examplebucket",
1548
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1484
1549
  # }
1485
1550
  #
1486
- # @example Example: To create a bucket in a specific region
1551
+ # @example Example: To create a bucket
1487
1552
  #
1488
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1553
+ # # The following example creates a bucket.
1489
1554
  #
1490
1555
  # resp = client.create_bucket({
1491
1556
  # bucket: "examplebucket",
1492
- # create_bucket_configuration: {
1493
- # location_constraint: "eu-west-1",
1494
- # },
1495
1557
  # })
1496
1558
  #
1497
1559
  # resp.to_h outputs the following:
1498
1560
  # {
1499
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1561
+ # location: "/examplebucket",
1500
1562
  # }
1501
1563
  #
1502
1564
  # @example Request syntax with placeholder values
@@ -1513,6 +1575,7 @@ module Aws::S3
1513
1575
  # grant_write: "GrantWrite",
1514
1576
  # grant_write_acp: "GrantWriteACP",
1515
1577
  # object_lock_enabled_for_bucket: false,
1578
+ # object_ownership: "BucketOwnerPreferred", # accepts BucketOwnerPreferred, ObjectWriter, BucketOwnerEnforced
1516
1579
  # })
1517
1580
  #
1518
1581
  # @example Response structure
@@ -1991,7 +2054,7 @@ module Aws::S3
1991
2054
  # "MetadataKey" => "MetadataValue",
1992
2055
  # },
1993
2056
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1994
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
2057
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
1995
2058
  # website_redirect_location: "WebsiteRedirectLocation",
1996
2059
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1997
2060
  # sse_customer_key: "SSECustomerKey",
@@ -2260,18 +2323,17 @@ module Aws::S3
2260
2323
  # storage costs by automatically moving data to the most cost-effective
2261
2324
  # storage access tier, without performance impact or operational
2262
2325
  # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
2263
- # two low latency and high throughput access tiers. For data that can be
2264
- # accessed asynchronously, you can choose to activate automatic
2265
- # archiving capabilities within the S3 Intelligent-Tiering storage
2266
- # class.
2326
+ # three low latency and high throughput access tiers. To get the lowest
2327
+ # storage cost on data that can be accessed in minutes to hours, you can
2328
+ # choose to activate additional archiving capabilities.
2267
2329
  #
2268
2330
  # The S3 Intelligent-Tiering storage class is the ideal storage class
2269
2331
  # for data with unknown, changing, or unpredictable access patterns,
2270
2332
  # independent of object size or retention period. If the size of an
2271
- # object is less than 128 KB, it is not eligible for auto-tiering.
2272
- # Smaller objects can be stored, but they are always charged at the
2273
- # Frequent Access tier rates in the S3 Intelligent-Tiering storage
2274
- # class.
2333
+ # object is less than 128 KB, it is not monitored and not eligible for
2334
+ # auto-tiering. Smaller objects can be stored, but they are always
2335
+ # charged at the Frequent Access tier rates in the S3
2336
+ # Intelligent-Tiering storage class.
2275
2337
  #
2276
2338
  # For more information, see [Storage class for automatically optimizing
2277
2339
  # frequently and infrequently accessed objects][1].
@@ -2905,15 +2967,6 @@ module Aws::S3
2905
2967
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
2906
2968
  #
2907
2969
  #
2908
- # @example Example: To delete an object (from a non-versioned bucket)
2909
- #
2910
- # # The following example deletes an object from a non-versioned bucket.
2911
- #
2912
- # resp = client.delete_object({
2913
- # bucket: "ExampleBucket",
2914
- # key: "HappyFace.jpg",
2915
- # })
2916
- #
2917
2970
  # @example Example: To delete an object
2918
2971
  #
2919
2972
  # # The following example deletes an object from an S3 bucket.
@@ -2927,6 +2980,15 @@ module Aws::S3
2927
2980
  # {
2928
2981
  # }
2929
2982
  #
2983
+ # @example Example: To delete an object (from a non-versioned bucket)
2984
+ #
2985
+ # # The following example deletes an object from a non-versioned bucket.
2986
+ #
2987
+ # resp = client.delete_object({
2988
+ # bucket: "ExampleBucket",
2989
+ # key: "HappyFace.jpg",
2990
+ # })
2991
+ #
2930
2992
  # @example Request syntax with placeholder values
2931
2993
  #
2932
2994
  # resp = client.delete_object({
@@ -3432,15 +3494,24 @@ module Aws::S3
3432
3494
  # can return the ACL of the bucket without using an authorization
3433
3495
  # header.
3434
3496
  #
3497
+ # <note markdown="1"> If your bucket uses the bucket owner enforced setting for S3 Object
3498
+ # Ownership, requests to read ACLs are still supported and return the
3499
+ # `bucket-owner-full-control` ACL with the owner being the account that
3500
+ # created the bucket. For more information, see [ Controlling object
3501
+ # ownership and disabling ACLs][1] in the *Amazon S3 User Guide*.
3502
+ #
3503
+ # </note>
3504
+ #
3435
3505
  # **Related Resources**
3436
3506
  #
3437
- # * [ListObjects][1]
3507
+ # * [ListObjects][2]
3438
3508
  #
3439
3509
  # ^
3440
3510
  #
3441
3511
  #
3442
3512
  #
3443
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
3513
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
3514
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
3444
3515
  #
3445
3516
  # @option params [required, String] :bucket
3446
3517
  # Specifies the S3 bucket whose ACL is being requested.
@@ -3726,18 +3797,17 @@ module Aws::S3
3726
3797
  # storage costs by automatically moving data to the most cost-effective
3727
3798
  # storage access tier, without performance impact or operational
3728
3799
  # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
3729
- # two low latency and high throughput access tiers. For data that can be
3730
- # accessed asynchronously, you can choose to activate automatic
3731
- # archiving capabilities within the S3 Intelligent-Tiering storage
3732
- # class.
3800
+ # three low latency and high throughput access tiers. To get the lowest
3801
+ # storage cost on data that can be accessed in minutes to hours, you can
3802
+ # choose to activate additional archiving capabilities.
3733
3803
  #
3734
3804
  # The S3 Intelligent-Tiering storage class is the ideal storage class
3735
3805
  # for data with unknown, changing, or unpredictable access patterns,
3736
3806
  # independent of object size or retention period. If the size of an
3737
- # object is less than 128 KB, it is not eligible for auto-tiering.
3738
- # Smaller objects can be stored, but they are always charged at the
3739
- # Frequent Access tier rates in the S3 Intelligent-Tiering storage
3740
- # class.
3807
+ # object is less than 128 KB, it is not monitored and not eligible for
3808
+ # auto-tiering. Smaller objects can be stored, but they are always
3809
+ # charged at the Frequent Access tier rates in the S3
3810
+ # Intelligent-Tiering storage class.
3741
3811
  #
3742
3812
  # For more information, see [Storage class for automatically optimizing
3743
3813
  # frequently and infrequently accessed objects][1].
@@ -3976,10 +4046,12 @@ module Aws::S3
3976
4046
  # resp.rules[0].status #=> String, one of "Enabled", "Disabled"
3977
4047
  # resp.rules[0].transition.date #=> Time
3978
4048
  # resp.rules[0].transition.days #=> Integer
3979
- # resp.rules[0].transition.storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
4049
+ # resp.rules[0].transition.storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "GLACIER_IR"
3980
4050
  # resp.rules[0].noncurrent_version_transition.noncurrent_days #=> Integer
3981
- # resp.rules[0].noncurrent_version_transition.storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
4051
+ # resp.rules[0].noncurrent_version_transition.storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "GLACIER_IR"
4052
+ # resp.rules[0].noncurrent_version_transition.newer_noncurrent_versions #=> Integer
3982
4053
  # resp.rules[0].noncurrent_version_expiration.noncurrent_days #=> Integer
4054
+ # resp.rules[0].noncurrent_version_expiration.newer_noncurrent_versions #=> Integer
3983
4055
  # resp.rules[0].abort_incomplete_multipart_upload.days_after_initiation #=> Integer
3984
4056
  #
3985
4057
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle AWS API Documentation
@@ -4097,19 +4169,25 @@ module Aws::S3
4097
4169
  # resp.rules[0].filter.prefix #=> String
4098
4170
  # resp.rules[0].filter.tag.key #=> String
4099
4171
  # resp.rules[0].filter.tag.value #=> String
4172
+ # resp.rules[0].filter.object_size_greater_than #=> Integer
4173
+ # resp.rules[0].filter.object_size_less_than #=> Integer
4100
4174
  # resp.rules[0].filter.and.prefix #=> String
4101
4175
  # resp.rules[0].filter.and.tags #=> Array
4102
4176
  # resp.rules[0].filter.and.tags[0].key #=> String
4103
4177
  # resp.rules[0].filter.and.tags[0].value #=> String
4178
+ # resp.rules[0].filter.and.object_size_greater_than #=> Integer
4179
+ # resp.rules[0].filter.and.object_size_less_than #=> Integer
4104
4180
  # resp.rules[0].status #=> String, one of "Enabled", "Disabled"
4105
4181
  # resp.rules[0].transitions #=> Array
4106
4182
  # resp.rules[0].transitions[0].date #=> Time
4107
4183
  # resp.rules[0].transitions[0].days #=> Integer
4108
- # resp.rules[0].transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
4184
+ # resp.rules[0].transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "GLACIER_IR"
4109
4185
  # resp.rules[0].noncurrent_version_transitions #=> Array
4110
4186
  # resp.rules[0].noncurrent_version_transitions[0].noncurrent_days #=> Integer
4111
- # resp.rules[0].noncurrent_version_transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
4187
+ # resp.rules[0].noncurrent_version_transitions[0].storage_class #=> String, one of "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "GLACIER_IR"
4188
+ # resp.rules[0].noncurrent_version_transitions[0].newer_noncurrent_versions #=> Integer
4112
4189
  # resp.rules[0].noncurrent_version_expiration.noncurrent_days #=> Integer
4190
+ # resp.rules[0].noncurrent_version_expiration.newer_noncurrent_versions #=> Integer
4113
4191
  # resp.rules[0].abort_incomplete_multipart_upload.days_after_initiation #=> Integer
4114
4192
  #
4115
4193
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration AWS API Documentation
@@ -4412,18 +4490,18 @@ module Aws::S3
4412
4490
  #
4413
4491
  # resp.topic_configuration.id #=> String
4414
4492
  # resp.topic_configuration.events #=> Array
4415
- # resp.topic_configuration.events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold"
4416
- # resp.topic_configuration.event #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold"
4493
+ # resp.topic_configuration.events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold", "s3:ObjectRestore:Delete", "s3:LifecycleTransition", "s3:IntelligentTiering", "s3:ObjectAcl:Put", "s3:LifecycleExpiration:*", "s3:LifecycleExpiration:Delete", "s3:LifecycleExpiration:DeleteMarkerCreated", "s3:ObjectTagging:*", "s3:ObjectTagging:Put", "s3:ObjectTagging:Delete"
4494
+ # resp.topic_configuration.event #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold", "s3:ObjectRestore:Delete", "s3:LifecycleTransition", "s3:IntelligentTiering", "s3:ObjectAcl:Put", "s3:LifecycleExpiration:*", "s3:LifecycleExpiration:Delete", "s3:LifecycleExpiration:DeleteMarkerCreated", "s3:ObjectTagging:*", "s3:ObjectTagging:Put", "s3:ObjectTagging:Delete"
4417
4495
  # resp.topic_configuration.topic #=> String
4418
4496
  # resp.queue_configuration.id #=> String
4419
- # resp.queue_configuration.event #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold"
4497
+ # resp.queue_configuration.event #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold", "s3:ObjectRestore:Delete", "s3:LifecycleTransition", "s3:IntelligentTiering", "s3:ObjectAcl:Put", "s3:LifecycleExpiration:*", "s3:LifecycleExpiration:Delete", "s3:LifecycleExpiration:DeleteMarkerCreated", "s3:ObjectTagging:*", "s3:ObjectTagging:Put", "s3:ObjectTagging:Delete"
4420
4498
  # resp.queue_configuration.events #=> Array
4421
- # resp.queue_configuration.events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold"
4499
+ # resp.queue_configuration.events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold", "s3:ObjectRestore:Delete", "s3:LifecycleTransition", "s3:IntelligentTiering", "s3:ObjectAcl:Put", "s3:LifecycleExpiration:*", "s3:LifecycleExpiration:Delete", "s3:LifecycleExpiration:DeleteMarkerCreated", "s3:ObjectTagging:*", "s3:ObjectTagging:Put", "s3:ObjectTagging:Delete"
4422
4500
  # resp.queue_configuration.queue #=> String
4423
4501
  # resp.cloud_function_configuration.id #=> String
4424
- # resp.cloud_function_configuration.event #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold"
4502
+ # resp.cloud_function_configuration.event #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold", "s3:ObjectRestore:Delete", "s3:LifecycleTransition", "s3:IntelligentTiering", "s3:ObjectAcl:Put", "s3:LifecycleExpiration:*", "s3:LifecycleExpiration:Delete", "s3:LifecycleExpiration:DeleteMarkerCreated", "s3:ObjectTagging:*", "s3:ObjectTagging:Put", "s3:ObjectTagging:Delete"
4425
4503
  # resp.cloud_function_configuration.events #=> Array
4426
- # resp.cloud_function_configuration.events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold"
4504
+ # resp.cloud_function_configuration.events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold", "s3:ObjectRestore:Delete", "s3:LifecycleTransition", "s3:IntelligentTiering", "s3:ObjectAcl:Put", "s3:LifecycleExpiration:*", "s3:LifecycleExpiration:Delete", "s3:LifecycleExpiration:DeleteMarkerCreated", "s3:ObjectTagging:*", "s3:ObjectTagging:Put", "s3:ObjectTagging:Delete"
4427
4505
  # resp.cloud_function_configuration.cloud_function #=> String
4428
4506
  # resp.cloud_function_configuration.invocation_role #=> String
4429
4507
  #
@@ -4477,6 +4555,7 @@ module Aws::S3
4477
4555
  # * {Types::NotificationConfiguration#topic_configurations #topic_configurations} => Array&lt;Types::TopicConfiguration&gt;
4478
4556
  # * {Types::NotificationConfiguration#queue_configurations #queue_configurations} => Array&lt;Types::QueueConfiguration&gt;
4479
4557
  # * {Types::NotificationConfiguration#lambda_function_configurations #lambda_function_configurations} => Array&lt;Types::LambdaFunctionConfiguration&gt;
4558
+ # * {Types::NotificationConfiguration#event_bridge_configuration #event_bridge_configuration} => Types::EventBridgeConfiguration
4480
4559
  #
4481
4560
  # @example Request syntax with placeholder values
4482
4561
  #
@@ -4491,7 +4570,7 @@ module Aws::S3
4491
4570
  # resp.topic_configurations[0].id #=> String
4492
4571
  # resp.topic_configurations[0].topic_arn #=> String
4493
4572
  # resp.topic_configurations[0].events #=> Array
4494
- # resp.topic_configurations[0].events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold"
4573
+ # resp.topic_configurations[0].events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold", "s3:ObjectRestore:Delete", "s3:LifecycleTransition", "s3:IntelligentTiering", "s3:ObjectAcl:Put", "s3:LifecycleExpiration:*", "s3:LifecycleExpiration:Delete", "s3:LifecycleExpiration:DeleteMarkerCreated", "s3:ObjectTagging:*", "s3:ObjectTagging:Put", "s3:ObjectTagging:Delete"
4495
4574
  # resp.topic_configurations[0].filter.key.filter_rules #=> Array
4496
4575
  # resp.topic_configurations[0].filter.key.filter_rules[0].name #=> String, one of "prefix", "suffix"
4497
4576
  # resp.topic_configurations[0].filter.key.filter_rules[0].value #=> String
@@ -4499,7 +4578,7 @@ module Aws::S3
4499
4578
  # resp.queue_configurations[0].id #=> String
4500
4579
  # resp.queue_configurations[0].queue_arn #=> String
4501
4580
  # resp.queue_configurations[0].events #=> Array
4502
- # resp.queue_configurations[0].events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold"
4581
+ # resp.queue_configurations[0].events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold", "s3:ObjectRestore:Delete", "s3:LifecycleTransition", "s3:IntelligentTiering", "s3:ObjectAcl:Put", "s3:LifecycleExpiration:*", "s3:LifecycleExpiration:Delete", "s3:LifecycleExpiration:DeleteMarkerCreated", "s3:ObjectTagging:*", "s3:ObjectTagging:Put", "s3:ObjectTagging:Delete"
4503
4582
  # resp.queue_configurations[0].filter.key.filter_rules #=> Array
4504
4583
  # resp.queue_configurations[0].filter.key.filter_rules[0].name #=> String, one of "prefix", "suffix"
4505
4584
  # resp.queue_configurations[0].filter.key.filter_rules[0].value #=> String
@@ -4507,7 +4586,7 @@ module Aws::S3
4507
4586
  # resp.lambda_function_configurations[0].id #=> String
4508
4587
  # resp.lambda_function_configurations[0].lambda_function_arn #=> String
4509
4588
  # resp.lambda_function_configurations[0].events #=> Array
4510
- # resp.lambda_function_configurations[0].events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold"
4589
+ # resp.lambda_function_configurations[0].events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated", "s3:ObjectRestore:*", "s3:ObjectRestore:Post", "s3:ObjectRestore:Completed", "s3:Replication:*", "s3:Replication:OperationFailedReplication", "s3:Replication:OperationNotTracked", "s3:Replication:OperationMissedThreshold", "s3:Replication:OperationReplicatedAfterThreshold", "s3:ObjectRestore:Delete", "s3:LifecycleTransition", "s3:IntelligentTiering", "s3:ObjectAcl:Put", "s3:LifecycleExpiration:*", "s3:LifecycleExpiration:Delete", "s3:LifecycleExpiration:DeleteMarkerCreated", "s3:ObjectTagging:*", "s3:ObjectTagging:Put", "s3:ObjectTagging:Delete"
4511
4590
  # resp.lambda_function_configurations[0].filter.key.filter_rules #=> Array
4512
4591
  # resp.lambda_function_configurations[0].filter.key.filter_rules[0].name #=> String, one of "prefix", "suffix"
4513
4592
  # resp.lambda_function_configurations[0].filter.key.filter_rules[0].value #=> String
@@ -4524,7 +4603,7 @@ module Aws::S3
4524
4603
  # Retrieves `OwnershipControls` for an Amazon S3 bucket. To use this
4525
4604
  # operation, you must have the `s3:GetBucketOwnershipControls`
4526
4605
  # permission. For more information about Amazon S3 permissions, see
4527
- # [Specifying Permissions in a Policy][1].
4606
+ # [Specifying permissions in a policy][1].
4528
4607
  #
4529
4608
  # For information about Amazon S3 Object Ownership, see [Using Object
4530
4609
  # Ownership][2].
@@ -4537,8 +4616,8 @@ module Aws::S3
4537
4616
  #
4538
4617
  #
4539
4618
  #
4540
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
4541
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
4619
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html
4620
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
4542
4621
  #
4543
4622
  # @option params [required, String] :bucket
4544
4623
  # The name of the Amazon S3 bucket whose `OwnershipControls` you want to
@@ -4563,7 +4642,7 @@ module Aws::S3
4563
4642
  # @example Response structure
4564
4643
  #
4565
4644
  # resp.ownership_controls.rules #=> Array
4566
- # resp.ownership_controls.rules[0].object_ownership #=> String, one of "BucketOwnerPreferred", "ObjectWriter"
4645
+ # resp.ownership_controls.rules[0].object_ownership #=> String, one of "BucketOwnerPreferred", "ObjectWriter", "BucketOwnerEnforced"
4567
4646
  #
4568
4647
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControls AWS API Documentation
4569
4648
  #
@@ -4812,7 +4891,7 @@ module Aws::S3
4812
4891
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
4813
4892
  # resp.replication_configuration.rules[0].destination.bucket #=> String
4814
4893
  # resp.replication_configuration.rules[0].destination.account #=> String
4815
- # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
4894
+ # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
4816
4895
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
4817
4896
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
4818
4897
  # resp.replication_configuration.rules[0].destination.replication_time.status #=> String, one of "Enabled", "Disabled"
@@ -5213,8 +5292,10 @@ module Aws::S3
5213
5292
  # By default, the GET action returns the current version of an object.
5214
5293
  # To return a different version, use the `versionId` subresource.
5215
5294
  #
5216
- # <note markdown="1"> * You need the `s3:GetObjectVersion` permission to access a specific
5217
- # version of an object.
5295
+ # <note markdown="1"> * If you supply a `versionId`, you need the `s3:GetObjectVersion`
5296
+ # permission to access a specific version of an object. If you request
5297
+ # a specific version, you do not need to have the `s3:GetObject`
5298
+ # permission.
5218
5299
  #
5219
5300
  # * If the current version of the object is a delete marker, Amazon S3
5220
5301
  # behaves as if the object was deleted and includes
@@ -5581,7 +5662,7 @@ module Aws::S3
5581
5662
  # resp.sse_customer_key_md5 #=> String
5582
5663
  # resp.ssekms_key_id #=> String
5583
5664
  # resp.bucket_key_enabled #=> Boolean
5584
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
5665
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
5585
5666
  # resp.request_charged #=> String, one of "requester"
5586
5667
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
5587
5668
  # resp.parts_count #=> Integer
@@ -5610,19 +5691,28 @@ module Aws::S3
5610
5691
  # an object. To return ACL information about a different version, use
5611
5692
  # the versionId subresource.
5612
5693
  #
5694
+ # <note markdown="1"> If your bucket uses the bucket owner enforced setting for S3 Object
5695
+ # Ownership, requests to read ACLs are still supported and return the
5696
+ # `bucket-owner-full-control` ACL with the owner being the account that
5697
+ # created the bucket. For more information, see [ Controlling object
5698
+ # ownership and disabling ACLs][1] in the *Amazon S3 User Guide*.
5699
+ #
5700
+ # </note>
5701
+ #
5613
5702
  # The following operations are related to `GetObjectAcl`\:
5614
5703
  #
5615
- # * [GetObject][1]
5704
+ # * [GetObject][2]
5616
5705
  #
5617
- # * [DeleteObject][2]
5706
+ # * [DeleteObject][3]
5618
5707
  #
5619
- # * [PutObject][3]
5708
+ # * [PutObject][4]
5620
5709
  #
5621
5710
  #
5622
5711
  #
5623
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5624
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
5625
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
5712
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
5713
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
5714
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
5715
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
5626
5716
  #
5627
5717
  # @option params [required, String] :bucket
5628
5718
  # The bucket name that contains the object for which to get the ACL
@@ -6662,7 +6752,7 @@ module Aws::S3
6662
6752
  # resp.sse_customer_key_md5 #=> String
6663
6753
  # resp.ssekms_key_id #=> String
6664
6754
  # resp.bucket_key_enabled #=> Boolean
6665
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
6755
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
6666
6756
  # resp.request_charged #=> String, one of "requester"
6667
6757
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
6668
6758
  # resp.parts_count #=> Integer
@@ -6789,18 +6879,17 @@ module Aws::S3
6789
6879
  # storage costs by automatically moving data to the most cost-effective
6790
6880
  # storage access tier, without performance impact or operational
6791
6881
  # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
6792
- # two low latency and high throughput access tiers. For data that can be
6793
- # accessed asynchronously, you can choose to activate automatic
6794
- # archiving capabilities within the S3 Intelligent-Tiering storage
6795
- # class.
6882
+ # three low latency and high throughput access tiers. To get the lowest
6883
+ # storage cost on data that can be accessed in minutes to hours, you can
6884
+ # choose to activate additional archiving capabilities.
6796
6885
  #
6797
6886
  # The S3 Intelligent-Tiering storage class is the ideal storage class
6798
6887
  # for data with unknown, changing, or unpredictable access patterns,
6799
6888
  # independent of object size or retention period. If the size of an
6800
- # object is less than 128 KB, it is not eligible for auto-tiering.
6801
- # Smaller objects can be stored, but they are always charged at the
6802
- # Frequent Access tier rates in the S3 Intelligent-Tiering storage
6803
- # class.
6889
+ # object is less than 128 KB, it is not monitored and not eligible for
6890
+ # auto-tiering. Smaller objects can be stored, but they are always
6891
+ # charged at the Frequent Access tier rates in the S3
6892
+ # Intelligent-Tiering storage class.
6804
6893
  #
6805
6894
  # For more information, see [Storage class for automatically optimizing
6806
6895
  # frequently and infrequently accessed objects][1].
@@ -7393,7 +7482,7 @@ module Aws::S3
7393
7482
  # resp.uploads[0].upload_id #=> String
7394
7483
  # resp.uploads[0].key #=> String
7395
7484
  # resp.uploads[0].initiated #=> Time
7396
- # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
7485
+ # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
7397
7486
  # resp.uploads[0].owner.display_name #=> String
7398
7487
  # resp.uploads[0].owner.id #=> String
7399
7488
  # resp.uploads[0].initiator.id #=> String
@@ -7773,7 +7862,7 @@ module Aws::S3
7773
7862
  # resp.contents[0].last_modified #=> Time
7774
7863
  # resp.contents[0].etag #=> String
7775
7864
  # resp.contents[0].size #=> Integer
7776
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS"
7865
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
7777
7866
  # resp.contents[0].owner.display_name #=> String
7778
7867
  # resp.contents[0].owner.id #=> String
7779
7868
  # resp.name #=> String
@@ -7978,7 +8067,7 @@ module Aws::S3
7978
8067
  # resp.contents[0].last_modified #=> Time
7979
8068
  # resp.contents[0].etag #=> String
7980
8069
  # resp.contents[0].size #=> Integer
7981
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS"
8070
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
7982
8071
  # resp.contents[0].owner.display_name #=> String
7983
8072
  # resp.contents[0].owner.id #=> String
7984
8073
  # resp.name #=> String
@@ -8187,7 +8276,7 @@ module Aws::S3
8187
8276
  # resp.initiator.display_name #=> String
8188
8277
  # resp.owner.display_name #=> String
8189
8278
  # resp.owner.id #=> String
8190
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
8279
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR"
8191
8280
  # resp.request_charged #=> String, one of "requester"
8192
8281
  #
8193
8282
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
@@ -8298,6 +8387,14 @@ module Aws::S3
8298
8387
  # you have an existing application that updates a bucket ACL using the
8299
8388
  # request body, then you can continue to use that approach.
8300
8389
  #
8390
+ # If your bucket uses the bucket owner enforced setting for S3 Object
8391
+ # Ownership, ACLs are disabled and no longer affect permissions. You
8392
+ # must use policies to grant access to your bucket and the objects in
8393
+ # it. Requests to set ACLs or update ACLs fail and return the
8394
+ # `AccessControlListNotSupported` error code. Requests to read ACLs are
8395
+ # still supported. For more information, see [Controlling object
8396
+ # ownership][2] in the *Amazon S3 User Guide*.
8397
+ #
8301
8398
  # **Access Permissions**
8302
8399
  #
8303
8400
  # You can set access permissions using one of the following methods:
@@ -8307,7 +8404,7 @@ module Aws::S3
8307
8404
  # canned ACL has a predefined set of grantees and permissions. Specify
8308
8405
  # the canned ACL name as the value of `x-amz-acl`. If you use this
8309
8406
  # header, you cannot use other access control-specific headers in your
8310
- # request. For more information, see [Canned ACL][2].
8407
+ # request. For more information, see [Canned ACL][3].
8311
8408
  #
8312
8409
  # * Specify access permissions explicitly with the `x-amz-grant-read`,
8313
8410
  # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
@@ -8317,7 +8414,7 @@ module Aws::S3
8317
8414
  # permission. If you use these ACL-specific headers, you cannot use
8318
8415
  # the `x-amz-acl` header to set a canned ACL. These parameters map to
8319
8416
  # the set of permissions that Amazon S3 supports in an ACL. For more
8320
- # information, see [Access Control List (ACL) Overview][3].
8417
+ # information, see [Access Control List (ACL) Overview][4].
8321
8418
  #
8322
8419
  # You specify each grantee as a type=value pair, where the type is one
8323
8420
  # of the following:
@@ -8350,7 +8447,7 @@ module Aws::S3
8350
8447
  # * South America (São Paulo)
8351
8448
  #
8352
8449
  # For a list of all the Amazon S3 supported Regions and endpoints,
8353
- # see [Regions and Endpoints][4] in the Amazon Web Services General
8450
+ # see [Regions and Endpoints][5] in the Amazon Web Services General
8354
8451
  # Reference.
8355
8452
  #
8356
8453
  # </note>
@@ -8413,28 +8510,29 @@ module Aws::S3
8413
8510
  # * South America (São Paulo)
8414
8511
  #
8415
8512
  # For a list of all the Amazon S3 supported Regions and endpoints, see
8416
- # [Regions and Endpoints][4] in the Amazon Web Services General
8513
+ # [Regions and Endpoints][5] in the Amazon Web Services General
8417
8514
  # Reference.
8418
8515
  #
8419
8516
  # </note>
8420
8517
  #
8421
8518
  # **Related Resources**
8422
8519
  #
8423
- # * [CreateBucket][5]
8520
+ # * [CreateBucket][6]
8424
8521
  #
8425
- # * [DeleteBucket][6]
8522
+ # * [DeleteBucket][7]
8426
8523
  #
8427
- # * [GetObjectAcl][7]
8524
+ # * [GetObjectAcl][8]
8428
8525
  #
8429
8526
  #
8430
8527
  #
8431
8528
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
8432
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
8433
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
8434
- # [4]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
8435
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
8436
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
8437
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
8529
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
8530
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
8531
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
8532
+ # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
8533
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
8534
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
8535
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
8438
8536
  #
8439
8537
  # @option params [String] :acl
8440
8538
  # The canned ACL to apply to the bucket.
@@ -8934,18 +9032,17 @@ module Aws::S3
8934
9032
  # storage costs by automatically moving data to the most cost-effective
8935
9033
  # storage access tier, without performance impact or operational
8936
9034
  # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
8937
- # two low latency and high throughput access tiers. For data that can be
8938
- # accessed asynchronously, you can choose to activate automatic
8939
- # archiving capabilities within the S3 Intelligent-Tiering storage
8940
- # class.
9035
+ # three low latency and high throughput access tiers. To get the lowest
9036
+ # storage cost on data that can be accessed in minutes to hours, you can
9037
+ # choose to activate additional archiving capabilities.
8941
9038
  #
8942
9039
  # The S3 Intelligent-Tiering storage class is the ideal storage class
8943
9040
  # for data with unknown, changing, or unpredictable access patterns,
8944
9041
  # independent of object size or retention period. If the size of an
8945
- # object is less than 128 KB, it is not eligible for auto-tiering.
8946
- # Smaller objects can be stored, but they are always charged at the
8947
- # Frequent Access tier rates in the S3 Intelligent-Tiering storage
8948
- # class.
9042
+ # object is less than 128 KB, it is not monitored and not eligible for
9043
+ # auto-tiering. Smaller objects can be stored, but they are always
9044
+ # charged at the Frequent Access tier rates in the S3
9045
+ # Intelligent-Tiering storage class.
8949
9046
  #
8950
9047
  # For more information, see [Storage class for automatically optimizing
8951
9048
  # frequently and infrequently accessed objects][1].
@@ -9282,14 +9379,16 @@ module Aws::S3
9282
9379
  # transition: {
9283
9380
  # date: Time.now,
9284
9381
  # days: 1,
9285
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
9382
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
9286
9383
  # },
9287
9384
  # noncurrent_version_transition: {
9288
9385
  # noncurrent_days: 1,
9289
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
9386
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
9387
+ # newer_noncurrent_versions: 1,
9290
9388
  # },
9291
9389
  # noncurrent_version_expiration: {
9292
9390
  # noncurrent_days: 1,
9391
+ # newer_noncurrent_versions: 1,
9293
9392
  # },
9294
9393
  # abort_incomplete_multipart_upload: {
9295
9394
  # days_after_initiation: 1,
@@ -9451,6 +9550,8 @@ module Aws::S3
9451
9550
  # key: "ObjectKey", # required
9452
9551
  # value: "Value", # required
9453
9552
  # },
9553
+ # object_size_greater_than: 1,
9554
+ # object_size_less_than: 1,
9454
9555
  # and: {
9455
9556
  # prefix: "Prefix",
9456
9557
  # tags: [
@@ -9459,6 +9560,8 @@ module Aws::S3
9459
9560
  # value: "Value", # required
9460
9561
  # },
9461
9562
  # ],
9563
+ # object_size_greater_than: 1,
9564
+ # object_size_less_than: 1,
9462
9565
  # },
9463
9566
  # },
9464
9567
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -9466,17 +9569,19 @@ module Aws::S3
9466
9569
  # {
9467
9570
  # date: Time.now,
9468
9571
  # days: 1,
9469
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
9572
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
9470
9573
  # },
9471
9574
  # ],
9472
9575
  # noncurrent_version_transitions: [
9473
9576
  # {
9474
9577
  # noncurrent_days: 1,
9475
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
9578
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
9579
+ # newer_noncurrent_versions: 1,
9476
9580
  # },
9477
9581
  # ],
9478
9582
  # noncurrent_version_expiration: {
9479
9583
  # noncurrent_days: 1,
9584
+ # newer_noncurrent_versions: 1,
9480
9585
  # },
9481
9586
  # abort_incomplete_multipart_upload: {
9482
9587
  # days_after_initiation: 1,
@@ -9506,6 +9611,12 @@ module Aws::S3
9506
9611
  # The `Permissions` request element specifies the kind of access the
9507
9612
  # grantee has to the logs.
9508
9613
  #
9614
+ # If the target bucket for log delivery uses the bucket owner enforced
9615
+ # setting for S3 Object Ownership, you can't use the `Grantee` request
9616
+ # element to grant access to others. Permissions can only be granted
9617
+ # using policies. For more information, see [Permissions for server
9618
+ # access log delivery][1] in the *Amazon S3 User Guide*.
9619
+ #
9509
9620
  # **Grantee Values**
9510
9621
  #
9511
9622
  # You can specify the person (grantee) to whom you're assigning access
@@ -9540,29 +9651,30 @@ module Aws::S3
9540
9651
  # />`
9541
9652
  #
9542
9653
  # For more information about server access logging, see [Server Access
9543
- # Logging][1].
9654
+ # Logging][2] in the *Amazon S3 User Guide*.
9544
9655
  #
9545
- # For more information about creating a bucket, see [CreateBucket][2].
9656
+ # For more information about creating a bucket, see [CreateBucket][3].
9546
9657
  # For more information about returning the logging status of a bucket,
9547
- # see [GetBucketLogging][3].
9658
+ # see [GetBucketLogging][4].
9548
9659
  #
9549
9660
  # The following operations are related to `PutBucketLogging`\:
9550
9661
  #
9551
- # * [PutObject][4]
9662
+ # * [PutObject][5]
9552
9663
  #
9553
- # * [DeleteBucket][5]
9664
+ # * [DeleteBucket][6]
9554
9665
  #
9555
- # * [CreateBucket][2]
9666
+ # * [CreateBucket][3]
9556
9667
  #
9557
- # * [GetBucketLogging][3]
9668
+ # * [GetBucketLogging][4]
9558
9669
  #
9559
9670
  #
9560
9671
  #
9561
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html
9562
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
9563
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
9564
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
9565
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
9672
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general
9673
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
9674
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
9675
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
9676
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
9677
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
9566
9678
  #
9567
9679
  # @option params [required, String] :bucket
9568
9680
  # The name of the bucket for which to set the logging parameters.
@@ -9777,20 +9889,20 @@ module Aws::S3
9777
9889
  # notification_configuration: { # required
9778
9890
  # topic_configuration: {
9779
9891
  # id: "NotificationId",
9780
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
9781
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
9892
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
9893
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
9782
9894
  # topic: "TopicArn",
9783
9895
  # },
9784
9896
  # queue_configuration: {
9785
9897
  # id: "NotificationId",
9786
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
9787
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
9898
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
9899
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
9788
9900
  # queue: "QueueArn",
9789
9901
  # },
9790
9902
  # cloud_function_configuration: {
9791
9903
  # id: "NotificationId",
9792
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
9793
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
9904
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
9905
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
9794
9906
  # cloud_function: "CloudFunction",
9795
9907
  # invocation_role: "CloudFunctionInvocationRole",
9796
9908
  # },
@@ -9887,6 +9999,10 @@ module Aws::S3
9887
9999
  # a different account, the request will fail with an HTTP `403 (Access
9888
10000
  # Denied)` error.
9889
10001
  #
10002
+ # @option params [Boolean] :skip_destination_validation
10003
+ # Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.
10004
+ # True or false value.
10005
+ #
9890
10006
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9891
10007
  #
9892
10008
  #
@@ -9917,7 +10033,7 @@ module Aws::S3
9917
10033
  # {
9918
10034
  # id: "NotificationId",
9919
10035
  # topic_arn: "TopicArn", # required
9920
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
10036
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
9921
10037
  # filter: {
9922
10038
  # key: {
9923
10039
  # filter_rules: [
@@ -9934,7 +10050,7 @@ module Aws::S3
9934
10050
  # {
9935
10051
  # id: "NotificationId",
9936
10052
  # queue_arn: "QueueArn", # required
9937
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
10053
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
9938
10054
  # filter: {
9939
10055
  # key: {
9940
10056
  # filter_rules: [
@@ -9951,7 +10067,7 @@ module Aws::S3
9951
10067
  # {
9952
10068
  # id: "NotificationId",
9953
10069
  # lambda_function_arn: "LambdaFunctionArn", # required
9954
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold
10070
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:*, s3:ObjectRestore:Post, s3:ObjectRestore:Completed, s3:Replication:*, s3:Replication:OperationFailedReplication, s3:Replication:OperationNotTracked, s3:Replication:OperationMissedThreshold, s3:Replication:OperationReplicatedAfterThreshold, s3:ObjectRestore:Delete, s3:LifecycleTransition, s3:IntelligentTiering, s3:ObjectAcl:Put, s3:LifecycleExpiration:*, s3:LifecycleExpiration:Delete, s3:LifecycleExpiration:DeleteMarkerCreated, s3:ObjectTagging:*, s3:ObjectTagging:Put, s3:ObjectTagging:Delete
9955
10071
  # filter: {
9956
10072
  # key: {
9957
10073
  # filter_rules: [
@@ -9964,8 +10080,11 @@ module Aws::S3
9964
10080
  # },
9965
10081
  # },
9966
10082
  # ],
10083
+ # event_bridge_configuration: {
10084
+ # },
9967
10085
  # },
9968
10086
  # expected_bucket_owner: "AccountId",
10087
+ # skip_destination_validation: false,
9969
10088
  # })
9970
10089
  #
9971
10090
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration AWS API Documentation
@@ -9980,10 +10099,10 @@ module Aws::S3
9980
10099
  # Creates or modifies `OwnershipControls` for an Amazon S3 bucket. To
9981
10100
  # use this operation, you must have the `s3:PutBucketOwnershipControls`
9982
10101
  # permission. For more information about Amazon S3 permissions, see
9983
- # [Specifying Permissions in a Policy][1].
10102
+ # [Specifying permissions in a policy][1].
9984
10103
  #
9985
- # For information about Amazon S3 Object Ownership, see [Using Object
9986
- # Ownership][2].
10104
+ # For information about Amazon S3 Object Ownership, see [Using object
10105
+ # ownership][2].
9987
10106
  #
9988
10107
  # The following operations are related to `PutBucketOwnershipControls`\:
9989
10108
  #
@@ -9993,8 +10112,8 @@ module Aws::S3
9993
10112
  #
9994
10113
  #
9995
10114
  #
9996
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
9997
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
10115
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html
10116
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/about-object-ownership.html
9998
10117
  #
9999
10118
  # @option params [required, String] :bucket
10000
10119
  # The name of the Amazon S3 bucket whose `OwnershipControls` you want to
@@ -10013,8 +10132,8 @@ module Aws::S3
10013
10132
  # Denied)` error.
10014
10133
  #
10015
10134
  # @option params [required, Types::OwnershipControls] :ownership_controls
10016
- # The `OwnershipControls` (BucketOwnerPreferred or ObjectWriter) that
10017
- # you want to apply to this Amazon S3 bucket.
10135
+ # The `OwnershipControls` (BucketOwnerEnforced, BucketOwnerPreferred, or
10136
+ # ObjectWriter) that you want to apply to this Amazon S3 bucket.
10018
10137
  #
10019
10138
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10020
10139
  #
@@ -10027,7 +10146,7 @@ module Aws::S3
10027
10146
  # ownership_controls: { # required
10028
10147
  # rules: [ # required
10029
10148
  # {
10030
- # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter
10149
+ # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter, BucketOwnerEnforced
10031
10150
  # },
10032
10151
  # ],
10033
10152
  # },
@@ -10300,7 +10419,7 @@ module Aws::S3
10300
10419
  # destination: { # required
10301
10420
  # bucket: "BucketName", # required
10302
10421
  # account: "AccountId",
10303
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
10422
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
10304
10423
  # access_control_translation: {
10305
10424
  # owner: "Destination", # required, accepts Destination
10306
10425
  # },
@@ -10889,13 +11008,33 @@ module Aws::S3
10889
11008
  # information, see [Access Control List (ACL) Overview][4] and [Managing
10890
11009
  # ACLs Using the REST API][5].
10891
11010
  #
11011
+ # If the bucket that you're uploading objects to uses the bucket owner
11012
+ # enforced setting for S3 Object Ownership, ACLs are disabled and no
11013
+ # longer affect permissions. Buckets that use this setting only accept
11014
+ # PUT requests that don't specify an ACL or PUT requests that specify
11015
+ # bucket owner full control ACLs, such as the
11016
+ # `bucket-owner-full-control` canned ACL or an equivalent form of this
11017
+ # ACL expressed in the XML format. PUT requests that contain other ACLs
11018
+ # (for example, custom grants to certain Amazon Web Services accounts)
11019
+ # fail and return a `400` error with the error code
11020
+ # `AccessControlListNotSupported`.
11021
+ #
11022
+ # For more information, see [ Controlling ownership of objects and
11023
+ # disabling ACLs][6] in the *Amazon S3 User Guide*.
11024
+ #
11025
+ # <note markdown="1"> If your bucket uses the bucket owner enforced setting for Object
11026
+ # Ownership, all objects written to the bucket by any account will be
11027
+ # owned by the bucket owner.
11028
+ #
11029
+ # </note>
11030
+ #
10892
11031
  # **Storage Class Options**
10893
11032
  #
10894
11033
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
10895
11034
  # created objects. The STANDARD storage class provides high durability
10896
11035
  # and high availability. Depending on performance needs, you can specify
10897
11036
  # a different Storage Class. Amazon S3 on Outposts only uses the
10898
- # OUTPOSTS Storage Class. For more information, see [Storage Classes][6]
11037
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][7]
10899
11038
  # in the *Amazon S3 User Guide*.
10900
11039
  #
10901
11040
  # **Versioning**
@@ -10907,14 +11046,14 @@ module Aws::S3
10907
11046
  # object simultaneously, it stores all of the objects.
10908
11047
  #
10909
11048
  # For more information about versioning, see [Adding Objects to
10910
- # Versioning Enabled Buckets][7]. For information about returning the
10911
- # versioning state of a bucket, see [GetBucketVersioning][8].
11049
+ # Versioning Enabled Buckets][8]. For information about returning the
11050
+ # versioning state of a bucket, see [GetBucketVersioning][9].
10912
11051
  #
10913
11052
  # **Related Resources**
10914
11053
  #
10915
- # * [CopyObject][9]
11054
+ # * [CopyObject][10]
10916
11055
  #
10917
- # * [DeleteObject][10]
11056
+ # * [DeleteObject][11]
10918
11057
  #
10919
11058
  #
10920
11059
  #
@@ -10923,11 +11062,12 @@ module Aws::S3
10923
11062
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
10924
11063
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
10925
11064
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
10926
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
10927
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
10928
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
10929
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
10930
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
11065
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
11066
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
11067
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html
11068
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html
11069
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
11070
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
10931
11071
  #
10932
11072
  # @option params [String] :acl
10933
11073
  # The canned ACL to apply to the object. For more information, see
@@ -11197,22 +11337,24 @@ module Aws::S3
11197
11337
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
11198
11338
  #
11199
11339
  #
11200
- # @example Example: To upload an object and specify optional tags
11340
+ # @example Example: To upload an object (specify optional headers)
11201
11341
  #
11202
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11203
- # # S3 returns version ID of the newly created object.
11342
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11343
+ # # storage class and use server-side encryption.
11204
11344
  #
11205
11345
  # resp = client.put_object({
11206
- # body: "c:\\HappyFace.jpg",
11346
+ # body: "HappyFace.jpg",
11207
11347
  # bucket: "examplebucket",
11208
11348
  # key: "HappyFace.jpg",
11209
- # tagging: "key1=value1&key2=value2",
11349
+ # server_side_encryption: "AES256",
11350
+ # storage_class: "STANDARD_IA",
11210
11351
  # })
11211
11352
  #
11212
11353
  # resp.to_h outputs the following:
11213
11354
  # {
11214
11355
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11215
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11356
+ # server_side_encryption: "AES256",
11357
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11216
11358
  # }
11217
11359
  #
11218
11360
  # @example Example: To upload an object and specify canned ACL.
@@ -11233,98 +11375,96 @@ module Aws::S3
11233
11375
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11234
11376
  # }
11235
11377
  #
11236
- # @example Example: To upload an object and specify server-side encryption and object tags
11378
+ # @example Example: To upload an object
11237
11379
  #
11238
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11239
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11380
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11381
+ # # syntax. S3 returns VersionId of the newly created object.
11240
11382
  #
11241
11383
  # resp = client.put_object({
11242
- # body: "filetoupload",
11384
+ # body: "HappyFace.jpg",
11243
11385
  # bucket: "examplebucket",
11244
- # key: "exampleobject",
11245
- # server_side_encryption: "AES256",
11246
- # tagging: "key1=value1&key2=value2",
11386
+ # key: "HappyFace.jpg",
11247
11387
  # })
11248
11388
  #
11249
11389
  # resp.to_h outputs the following:
11250
11390
  # {
11251
11391
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11252
- # server_side_encryption: "AES256",
11253
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11392
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11254
11393
  # }
11255
11394
  #
11256
- # @example Example: To create an object.
11395
+ # @example Example: To upload an object and specify optional tags
11257
11396
  #
11258
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11397
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11398
+ # # S3 returns version ID of the newly created object.
11259
11399
  #
11260
11400
  # resp = client.put_object({
11261
- # body: "filetoupload",
11401
+ # body: "c:\\HappyFace.jpg",
11262
11402
  # bucket: "examplebucket",
11263
- # key: "objectkey",
11403
+ # key: "HappyFace.jpg",
11404
+ # tagging: "key1=value1&key2=value2",
11264
11405
  # })
11265
11406
  #
11266
11407
  # resp.to_h outputs the following:
11267
11408
  # {
11268
11409
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11269
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11410
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11270
11411
  # }
11271
11412
  #
11272
- # @example Example: To upload an object
11413
+ # @example Example: To upload object and specify user-defined metadata
11273
11414
  #
11274
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11275
- # # syntax. S3 returns VersionId of the newly created object.
11415
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11416
+ # # enabled, S3 returns version ID in response.
11276
11417
  #
11277
11418
  # resp = client.put_object({
11278
- # body: "HappyFace.jpg",
11419
+ # body: "filetoupload",
11279
11420
  # bucket: "examplebucket",
11280
- # key: "HappyFace.jpg",
11421
+ # key: "exampleobject",
11422
+ # metadata: {
11423
+ # "metadata1" => "value1",
11424
+ # "metadata2" => "value2",
11425
+ # },
11281
11426
  # })
11282
11427
  #
11283
11428
  # resp.to_h outputs the following:
11284
11429
  # {
11285
11430
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11286
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11431
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11287
11432
  # }
11288
11433
  #
11289
- # @example Example: To upload an object (specify optional headers)
11434
+ # @example Example: To upload an object and specify server-side encryption and object tags
11290
11435
  #
11291
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11292
- # # storage class and use server-side encryption.
11436
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11437
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11293
11438
  #
11294
11439
  # resp = client.put_object({
11295
- # body: "HappyFace.jpg",
11440
+ # body: "filetoupload",
11296
11441
  # bucket: "examplebucket",
11297
- # key: "HappyFace.jpg",
11442
+ # key: "exampleobject",
11298
11443
  # server_side_encryption: "AES256",
11299
- # storage_class: "STANDARD_IA",
11444
+ # tagging: "key1=value1&key2=value2",
11300
11445
  # })
11301
11446
  #
11302
11447
  # resp.to_h outputs the following:
11303
11448
  # {
11304
11449
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11305
11450
  # server_side_encryption: "AES256",
11306
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11451
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11307
11452
  # }
11308
11453
  #
11309
- # @example Example: To upload object and specify user-defined metadata
11454
+ # @example Example: To create an object.
11310
11455
  #
11311
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11312
- # # enabled, S3 returns version ID in response.
11456
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11313
11457
  #
11314
11458
  # resp = client.put_object({
11315
11459
  # body: "filetoupload",
11316
11460
  # bucket: "examplebucket",
11317
- # key: "exampleobject",
11318
- # metadata: {
11319
- # "metadata1" => "value1",
11320
- # "metadata2" => "value2",
11321
- # },
11461
+ # key: "objectkey",
11322
11462
  # })
11323
11463
  #
11324
11464
  # resp.to_h outputs the following:
11325
11465
  # {
11326
11466
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11327
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11467
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11328
11468
  # }
11329
11469
  #
11330
11470
  # @example Streaming a file from disk
@@ -11356,7 +11496,7 @@ module Aws::S3
11356
11496
  # "MetadataKey" => "MetadataValue",
11357
11497
  # },
11358
11498
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
11359
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
11499
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
11360
11500
  # website_redirect_location: "WebsiteRedirectLocation",
11361
11501
  # sse_customer_algorithm: "SSECustomerAlgorithm",
11362
11502
  # sse_customer_key: "SSECustomerKey",
@@ -11409,6 +11549,14 @@ module Aws::S3
11409
11549
  # information, see [Access Control List (ACL) Overview][2] in the
11410
11550
  # *Amazon S3 User Guide*.
11411
11551
  #
11552
+ # If your bucket uses the bucket owner enforced setting for S3 Object
11553
+ # Ownership, ACLs are disabled and no longer affect permissions. You
11554
+ # must use policies to grant access to your bucket and the objects in
11555
+ # it. Requests to set ACLs or update ACLs fail and return the
11556
+ # `AccessControlListNotSupported` error code. Requests to read ACLs are
11557
+ # still supported. For more information, see [Controlling object
11558
+ # ownership][3] in the *Amazon S3 User Guide*.
11559
+ #
11412
11560
  # **Access Permissions**
11413
11561
  #
11414
11562
  # You can set access permissions using one of the following methods:
@@ -11418,7 +11566,7 @@ module Aws::S3
11418
11566
  # ACL has a predefined set of grantees and permissions. Specify the
11419
11567
  # canned ACL name as the value of `x-amz-ac`l. If you use this header,
11420
11568
  # you cannot use other access control-specific headers in your
11421
- # request. For more information, see [Canned ACL][3].
11569
+ # request. For more information, see [Canned ACL][4].
11422
11570
  #
11423
11571
  # * Specify access permissions explicitly with the `x-amz-grant-read`,
11424
11572
  # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
@@ -11461,7 +11609,7 @@ module Aws::S3
11461
11609
  # * South America (São Paulo)
11462
11610
  #
11463
11611
  # For a list of all the Amazon S3 supported Regions and endpoints,
11464
- # see [Regions and Endpoints][4] in the Amazon Web Services General
11612
+ # see [Regions and Endpoints][5] in the Amazon Web Services General
11465
11613
  # Reference.
11466
11614
  #
11467
11615
  # </note>
@@ -11522,7 +11670,7 @@ module Aws::S3
11522
11670
  # * South America (São Paulo)
11523
11671
  #
11524
11672
  # For a list of all the Amazon S3 supported Regions and endpoints, see
11525
- # [Regions and Endpoints][4] in the Amazon Web Services General
11673
+ # [Regions and Endpoints][5] in the Amazon Web Services General
11526
11674
  # Reference.
11527
11675
  #
11528
11676
  # </note>
@@ -11535,18 +11683,19 @@ module Aws::S3
11535
11683
  #
11536
11684
  # **Related Resources**
11537
11685
  #
11538
- # * [CopyObject][5]
11686
+ # * [CopyObject][6]
11539
11687
  #
11540
- # * [GetObject][6]
11688
+ # * [GetObject][7]
11541
11689
  #
11542
11690
  #
11543
11691
  #
11544
11692
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions
11545
11693
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
11546
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
11547
- # [4]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
11548
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
11549
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
11694
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
11695
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
11696
+ # [5]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
11697
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
11698
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
11550
11699
  #
11551
11700
  # @option params [String] :acl
11552
11701
  # The canned ACL to apply to the object. For more information, see
@@ -12680,7 +12829,7 @@ module Aws::S3
12680
12829
  # value: "MetadataValue",
12681
12830
  # },
12682
12831
  # ],
12683
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
12832
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
12684
12833
  # },
12685
12834
  # },
12686
12835
  # },
@@ -14038,7 +14187,7 @@ module Aws::S3
14038
14187
  # sse_customer_algorithm: "SSECustomerAlgorithm",
14039
14188
  # ssekms_key_id: "SSEKMSKeyId",
14040
14189
  # sse_customer_key_md5: "SSECustomerKeyMD5",
14041
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
14190
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR
14042
14191
  # tag_count: 1,
14043
14192
  # version_id: "ObjectVersionId",
14044
14193
  # bucket_key_enabled: false,
@@ -14066,7 +14215,7 @@ module Aws::S3
14066
14215
  params: params,
14067
14216
  config: config)
14068
14217
  context[:gem_name] = 'aws-sdk-s3'
14069
- context[:gem_version] = '1.106.0'
14218
+ context[:gem_version] = '1.109.0'
14070
14219
  Seahorse::Client::Request.new(handlers, context)
14071
14220
  end
14072
14221