aws-sdk-s3 1.106.0 → 1.109.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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