@aws-sdk/client-s3 3.43.0 → 3.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist-cjs/endpoints.js +9 -60
  3. package/dist-cjs/models/models_0.js +11 -66
  4. package/dist-cjs/models/models_1.js +7 -1
  5. package/dist-cjs/protocols/Aws_restXml.js +20 -0
  6. package/dist-cjs/runtimeConfig.browser.js +7 -2
  7. package/dist-cjs/runtimeConfig.js +9 -3
  8. package/dist-es/endpoints.js +9 -60
  9. package/dist-es/models/models_0.js +4 -40
  10. package/dist-es/models/models_1.js +4 -0
  11. package/dist-es/protocols/Aws_restXml.js +21 -3
  12. package/dist-es/runtimeConfig.browser.js +12 -3
  13. package/dist-es/runtimeConfig.js +13 -6
  14. package/dist-types/S3.d.ts +115 -35
  15. package/dist-types/S3Client.d.ts +5 -1
  16. package/dist-types/commands/CopyObjectCommand.d.ts +11 -1
  17. package/dist-types/commands/CreateBucketCommand.d.ts +39 -11
  18. package/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +2 -2
  19. package/dist-types/commands/GetBucketAclCommand.d.ts +7 -0
  20. package/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +2 -2
  21. package/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +3 -3
  22. package/dist-types/commands/GetObjectAclCommand.d.ts +7 -1
  23. package/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +2 -2
  24. package/dist-types/commands/PutBucketAclCommand.d.ts +7 -1
  25. package/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +2 -2
  26. package/dist-types/commands/PutBucketLoggingCommand.d.ts +8 -3
  27. package/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +2 -2
  28. package/dist-types/commands/PutObjectAclCommand.d.ts +7 -2
  29. package/dist-types/commands/PutObjectCommand.d.ts +14 -2
  30. package/dist-types/commands/SelectObjectContentCommand.d.ts +2 -1
  31. package/dist-types/models/models_0.d.ts +61 -88
  32. package/dist-types/models/models_1.d.ts +16 -1
  33. package/dist-types/runtimeConfig.browser.d.ts +4 -3
  34. package/dist-types/runtimeConfig.d.ts +5 -4
  35. package/dist-types/runtimeConfig.native.d.ts +2 -1
  36. package/dist-types/runtimeConfig.shared.d.ts +1 -1
  37. package/dist-types/ts3.4/S3Client.d.ts +3 -1
  38. package/dist-types/ts3.4/models/models_0.d.ts +18 -50
  39. package/dist-types/ts3.4/models/models_1.d.ts +10 -1
  40. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +4 -3
  41. package/dist-types/ts3.4/runtimeConfig.d.ts +5 -4
  42. package/dist-types/ts3.4/runtimeConfig.native.d.ts +2 -1
  43. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +1 -1
  44. package/package.json +52 -58
@@ -392,7 +392,17 @@ export declare class S3 extends S3Client {
392
392
  * defined by Amazon S3. These permissions are then added to the ACL on the object. For more
393
393
  * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL) Overview</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing ACLs Using the REST
394
394
  * API</a>. </p>
395
- *
395
+ * <p>If the bucket that you're copying objects to uses the bucket owner enforced setting for
396
+ * S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that
397
+ * use this setting only accept PUT requests that don't specify an ACL or PUT requests that
398
+ * specify bucket owner full control ACLs, such as the <code>bucket-owner-full-control</code> canned
399
+ * ACL or an equivalent form of this ACL expressed in the XML format.</p>
400
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html"> Controlling ownership of
401
+ * objects and disabling ACLs</a> in the <i>Amazon S3 User Guide</i>.</p>
402
+ * <note>
403
+ * <p>If your bucket uses the bucket owner enforced setting for Object Ownership,
404
+ * all objects written to the bucket by any account will be owned by the bucket owner.</p>
405
+ * </note>
396
406
  * <p>
397
407
  * <b>Storage Class Options</b>
398
408
  * </p>
@@ -455,9 +465,20 @@ export declare class S3 extends S3Client {
455
465
  * bucket in a Region other than US East (N. Virginia), your application must be able to
456
466
  * handle 307 redirect. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual hosting of buckets</a>.</p>
457
467
  * </note>
458
- * <p>When creating a bucket using this operation, you can optionally specify the accounts or
459
- * groups that should be granted specific permissions on the bucket. There are two ways to
460
- * grant the appropriate permissions using the request headers.</p>
468
+ * <p>
469
+ * <b>Access control lists (ACLs)</b>
470
+ * </p>
471
+ * <p>When creating a bucket using this operation, you can optionally configure the bucket ACL to specify the accounts or
472
+ * groups that should be granted specific permissions on the bucket.</p>
473
+ * <important>
474
+ * <p>If your CreateBucket request sets bucket owner enforced for S3 Object Ownership and
475
+ * specifies a bucket ACL that provides access to an external Amazon Web Services account, your request
476
+ * fails with a <code>400</code> error and returns the
477
+ * <code>InvalidBucketAclWithObjectOwnership</code> error code. For more information,
478
+ * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling object
479
+ * ownership</a> in the <i>Amazon S3 User Guide</i>.</p>
480
+ * </important>
481
+ * <p>There are two ways to grant the appropriate permissions using the request headers.</p>
461
482
  * <ul>
462
483
  * <li>
463
484
  * <p>Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3
@@ -470,7 +491,7 @@ export declare class S3 extends S3Client {
470
491
  * <code>x-amz-grant-write</code>, <code>x-amz-grant-read-acp</code>,
471
492
  * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
472
493
  * headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For
473
- * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access control list
494
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html">Access control list
474
495
  * (ACL) overview</a>.</p>
475
496
  * <p>You specify each grantee as a type=value pair, where the type is one of the
476
497
  * following:</p>
@@ -534,13 +555,30 @@ export declare class S3 extends S3Client {
534
555
  * <p>
535
556
  * <b>Permissions</b>
536
557
  * </p>
537
- * <p>If your <code>CreateBucket</code> request specifies ACL permissions and the ACL is public-read, public-read-write,
538
- * authenticated-read, or if you specify access permissions explicitly through any other ACL, both
539
- * <code>s3:CreateBucket</code> and <code>s3:PutBucketAcl</code> permissions are needed. If the ACL the
540
- * <code>CreateBucket</code> request is private, only <code>s3:CreateBucket</code> permission is needed. </p>
541
- * <p>If <code>ObjectLockEnabledForBucket</code> is set to true in your <code>CreateBucket</code> request,
542
- * <code>s3:PutBucketObjectLockConfiguration</code> and <code>s3:PutBucketVersioning</code> permissions are required.</p>
543
- *
558
+ * <p>In addition to <code>s3:CreateBucket</code>, the following permissions are required when your CreateBucket includes specific headers:</p>
559
+ * <ul>
560
+ * <li>
561
+ * <p>
562
+ * <b>ACLs</b> - If your <code>CreateBucket</code> request specifies ACL permissions and the ACL is public-read, public-read-write,
563
+ * authenticated-read, or if you specify access permissions explicitly through any other ACL, both
564
+ * <code>s3:CreateBucket</code> and <code>s3:PutBucketAcl</code> permissions are needed. If the ACL the
565
+ * <code>CreateBucket</code> request is private or doesn't specify any ACLs, only <code>s3:CreateBucket</code> permission is needed. </p>
566
+ * </li>
567
+ * <li>
568
+ * <p>
569
+ * <b>Object Lock</b> - If
570
+ * <code>ObjectLockEnabledForBucket</code> is set to true in your
571
+ * <code>CreateBucket</code> request,
572
+ * <code>s3:PutBucketObjectLockConfiguration</code> and
573
+ * <code>s3:PutBucketVersioning</code> permissions are required.</p>
574
+ * </li>
575
+ * <li>
576
+ * <p>
577
+ * <b>S3 Object Ownership</b> - If your CreateBucket
578
+ * request includes the the <code>x-amz-object-ownership</code> header,
579
+ * <code>s3:PutBucketOwnershipControls</code> permission is required.</p>
580
+ * </li>
581
+ * </ul>
544
582
  * <p>The following operations are related to <code>CreateBucket</code>:</p>
545
583
  * <ul>
546
584
  * <li>
@@ -937,8 +975,8 @@ export declare class S3 extends S3Client {
937
975
  deleteBucketEncryption(args: DeleteBucketEncryptionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteBucketEncryptionCommandOutput) => void): void;
938
976
  /**
939
977
  * <p>Deletes the S3 Intelligent-Tiering configuration from the specified bucket.</p>
940
- * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.</p>
941
- * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
978
+ * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.</p>
979
+ * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
942
980
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage class for automatically optimizing frequently and infrequently accessed objects</a>.</p>
943
981
  * <p>Operations related to
944
982
  * <code>DeleteBucketIntelligentTieringConfiguration</code> include: </p>
@@ -1414,6 +1452,13 @@ export declare class S3 extends S3Client {
1414
1452
  * return the ACL of the bucket, you must have <code>READ_ACP</code> access to the bucket. If
1415
1453
  * <code>READ_ACP</code> permission is granted to the anonymous user, you can return the
1416
1454
  * ACL of the bucket without using an authorization header.</p>
1455
+ * <note>
1456
+ * <p>If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
1457
+ * requests to read ACLs are still supported and return the <code>bucket-owner-full-control</code>
1458
+ * ACL with the owner being the account that created the bucket. For more information, see
1459
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">
1460
+ * Controlling object ownership and disabling ACLs</a> in the <i>Amazon S3 User Guide</i>.</p>
1461
+ * </note>
1417
1462
  *
1418
1463
  * <p class="title">
1419
1464
  * <b>Related Resources</b>
@@ -1519,8 +1564,8 @@ export declare class S3 extends S3Client {
1519
1564
  getBucketEncryption(args: GetBucketEncryptionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetBucketEncryptionCommandOutput) => void): void;
1520
1565
  /**
1521
1566
  * <p>Gets the S3 Intelligent-Tiering configuration from the specified bucket.</p>
1522
- * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.</p>
1523
- * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
1567
+ * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.</p>
1568
+ * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
1524
1569
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage class for automatically optimizing frequently and infrequently accessed objects</a>.</p>
1525
1570
  * <p>Operations related to
1526
1571
  * <code>GetBucketIntelligentTieringConfiguration</code> include: </p>
@@ -1759,9 +1804,9 @@ export declare class S3 extends S3Client {
1759
1804
  /**
1760
1805
  * <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this operation, you
1761
1806
  * must have the <code>s3:GetBucketOwnershipControls</code> permission. For more information
1762
- * about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
1763
- * Permissions in a Policy</a>. </p>
1764
- * <p>For information about Amazon S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using Object Ownership</a>. </p>
1807
+ * about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html">Specifying
1808
+ * permissions in a policy</a>. </p>
1809
+ * <p>For information about Amazon S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Using Object Ownership</a>. </p>
1765
1810
  * <p>The following operations are related to <code>GetBucketOwnershipControls</code>:</p>
1766
1811
  * <ul>
1767
1812
  * <li>
@@ -2194,7 +2239,13 @@ export declare class S3 extends S3Client {
2194
2239
  * </p>
2195
2240
  * <p>By default, GET returns ACL information about the current version of an object. To
2196
2241
  * return ACL information about a different version, use the versionId subresource.</p>
2197
- *
2242
+ * <note>
2243
+ * <p>If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
2244
+ * requests to read ACLs are still supported and return the <code>bucket-owner-full-control</code>
2245
+ * ACL with the owner being the account that created the bucket. For more information, see
2246
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">
2247
+ * Controlling object ownership and disabling ACLs</a> in the <i>Amazon S3 User Guide</i>.</p>
2248
+ * </note>
2198
2249
  * <p>The following operations are related to <code>GetObjectAcl</code>:</p>
2199
2250
  * <ul>
2200
2251
  * <li>
@@ -2525,8 +2576,8 @@ export declare class S3 extends S3Client {
2525
2576
  listBucketAnalyticsConfigurations(args: ListBucketAnalyticsConfigurationsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListBucketAnalyticsConfigurationsCommandOutput) => void): void;
2526
2577
  /**
2527
2578
  * <p>Lists the S3 Intelligent-Tiering configuration from the specified bucket.</p>
2528
- * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.</p>
2529
- * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
2579
+ * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.</p>
2580
+ * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
2530
2581
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage class for automatically optimizing frequently and infrequently accessed objects</a>.</p>
2531
2582
  * <p>Operations related to
2532
2583
  * <code>ListBucketIntelligentTieringConfigurations</code> include: </p>
@@ -2963,7 +3014,13 @@ export declare class S3 extends S3Client {
2963
3014
  * that updates a bucket ACL using the request body, then you can continue to use that
2964
3015
  * approach.</p>
2965
3016
  *
2966
- *
3017
+ * <important>
3018
+ * <p>If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions.
3019
+ * You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and
3020
+ * return the <code>AccessControlListNotSupported</code> error code. Requests to read ACLs are still supported.
3021
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling object ownership</a>
3022
+ * in the <i>Amazon S3 User Guide</i>.</p>
3023
+ * </important>
2967
3024
  * <p>
2968
3025
  * <b>Access Permissions</b>
2969
3026
  * </p>
@@ -3357,8 +3414,8 @@ export declare class S3 extends S3Client {
3357
3414
  /**
3358
3415
  * <p>Puts a S3 Intelligent-Tiering configuration to the specified bucket.
3359
3416
  * You can have up to 1,000 S3 Intelligent-Tiering configurations per bucket.</p>
3360
- * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.</p>
3361
- * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
3417
+ * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.</p>
3418
+ * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
3362
3419
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage class for automatically optimizing frequently and infrequently accessed objects</a>.</p>
3363
3420
  * <p>Operations related to
3364
3421
  * <code>PutBucketIntelligentTieringConfiguration</code> include: </p>
@@ -3652,10 +3709,15 @@ export declare class S3 extends S3Client {
3652
3709
  * modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the
3653
3710
  * source bucket. To set the logging status of a bucket, you must be the bucket owner.</p>
3654
3711
  *
3655
- * <p>The bucket owner is automatically granted FULL_CONTROL to all logs. You use the
3656
- * <code>Grantee</code> request element to grant access to other people. The
3712
+ * <p>The bucket owner is automatically granted FULL_CONTROL to all logs. You use the <code>Grantee</code> request element to grant access to other people. The
3657
3713
  * <code>Permissions</code> request element specifies the kind of access the grantee has to
3658
3714
  * the logs.</p>
3715
+ * <important>
3716
+ * <p>If the target bucket for log delivery uses the bucket owner enforced
3717
+ * setting for S3 Object Ownership, you can't use the <code>Grantee</code> request element
3718
+ * to grant access to others. Permissions can only be granted using policies. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions for server access log delivery</a> in the
3719
+ * <i>Amazon S3 User Guide</i>.</p>
3720
+ * </important>
3659
3721
  *
3660
3722
  * <p>
3661
3723
  * <b>Grantee Values</b>
@@ -3700,7 +3762,7 @@ export declare class S3 extends S3Client {
3700
3762
  * /></code>
3701
3763
  * </p>
3702
3764
  *
3703
- * <p>For more information about server access logging, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server Access Logging</a>. </p>
3765
+ * <p>For more information about server access logging, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html">Server Access Logging</a> in the <i>Amazon S3 User Guide</i>. </p>
3704
3766
  *
3705
3767
  * <p>For more information about creating a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>. For more
3706
3768
  * information about returning the logging status of a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a>.</p>
@@ -3858,8 +3920,8 @@ export declare class S3 extends S3Client {
3858
3920
  /**
3859
3921
  * <p>Creates or modifies <code>OwnershipControls</code> for an Amazon S3 bucket. To use this
3860
3922
  * operation, you must have the <code>s3:PutBucketOwnershipControls</code> permission. For
3861
- * more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying Permissions in a Policy</a>. </p>
3862
- * <p>For information about Amazon S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using Object Ownership</a>. </p>
3923
+ * more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html">Specifying permissions in a policy</a>. </p>
3924
+ * <p>For information about Amazon S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/user-guide/about-object-ownership.html">Using object ownership</a>. </p>
3863
3925
  * <p>The following operations are related to <code>PutBucketOwnershipControls</code>:</p>
3864
3926
  * <ul>
3865
3927
  * <li>
@@ -4316,7 +4378,6 @@ export declare class S3 extends S3Client {
4316
4378
  * </li>
4317
4379
  * </ul>
4318
4380
  * </note>
4319
- *
4320
4381
  * <p>
4321
4382
  * <b>Server-side Encryption</b>
4322
4383
  * </p>
@@ -4338,7 +4399,20 @@ export declare class S3 extends S3Client {
4338
4399
  * permissions are then added to the ACL on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List
4339
4400
  * (ACL) Overview</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing ACLs Using the REST
4340
4401
  * API</a>. </p>
4341
- *
4402
+ * <p>If the bucket that you're uploading objects to uses the bucket owner enforced setting
4403
+ * for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that
4404
+ * use this setting only accept PUT requests that don't specify an ACL or PUT requests that
4405
+ * specify bucket owner full control ACLs, such as the <code>bucket-owner-full-control</code> canned
4406
+ * ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other
4407
+ * ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a
4408
+ * <code>400</code> error with the error code
4409
+ * <code>AccessControlListNotSupported</code>.</p>
4410
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html"> Controlling ownership of
4411
+ * objects and disabling ACLs</a> in the <i>Amazon S3 User Guide</i>.</p>
4412
+ * <note>
4413
+ * <p>If your bucket uses the bucket owner enforced setting for Object Ownership,
4414
+ * all objects written to the bucket by any account will be owned by the bucket owner.</p>
4415
+ * </note>
4342
4416
  * <p>
4343
4417
  * <b>Storage Class Options</b>
4344
4418
  * </p>
@@ -4390,8 +4464,13 @@ export declare class S3 extends S3Client {
4390
4464
  * the ACL on an object using either the request body or the headers. For example, if you have
4391
4465
  * an existing application that updates a bucket ACL using the request body, you can continue
4392
4466
  * to use that approach. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p>
4393
- *
4394
- *
4467
+ * <important>
4468
+ * <p>If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions.
4469
+ * You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and
4470
+ * return the <code>AccessControlListNotSupported</code> error code. Requests to read ACLs are still supported.
4471
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling object ownership</a>
4472
+ * in the <i>Amazon S3 User Guide</i>.</p>
4473
+ * </important>
4395
4474
  *
4396
4475
  * <p>
4397
4476
  * <b>Access Permissions</b>
@@ -5081,7 +5160,8 @@ export declare class S3 extends S3Client {
5081
5160
  * <p>This action is not supported by Amazon S3 on Outposts.</p>
5082
5161
  * <p>For more information about Amazon S3 Select,
5083
5162
  * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html">Selecting Content from
5084
- * Objects</a> in the <i>Amazon S3 User Guide</i>.</p>
5163
+ * Objects</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html">SELECT
5164
+ * Command</a> in the <i>Amazon S3 User Guide</i>.</p>
5085
5165
  * <p>For more information about using SQL with Amazon S3 Select, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html"> SQL Reference for Amazon S3 Select
5086
5166
  * and S3 Glacier Select</a> in the <i>Amazon S3 User Guide</i>.</p>
5087
5167
  * <p></p>
@@ -7,7 +7,7 @@ import { RetryInputConfig, RetryResolvedConfig } from "@aws-sdk/middleware-retry
7
7
  import { AwsAuthInputConfig, AwsAuthResolvedConfig } from "@aws-sdk/middleware-signing";
8
8
  import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent";
9
9
  import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
10
- import { Client as __Client, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@aws-sdk/smithy-client";
10
+ import { Client as __Client, DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@aws-sdk/smithy-client";
11
11
  import { Credentials as __Credentials, Decoder as __Decoder, Encoder as __Encoder, EventStreamSerdeProvider as __EventStreamSerdeProvider, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, RegionInfoProvider, StreamCollector as __StreamCollector, StreamHasher as __StreamHasher, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@aws-sdk/types";
12
12
  import { Readable } from "stream";
13
13
  import { AbortMultipartUploadCommandInput, AbortMultipartUploadCommandOutput } from "./commands/AbortMultipartUploadCommand";
@@ -228,6 +228,10 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
228
228
  * @internal
229
229
  */
230
230
  md5?: __HashConstructor;
231
+ /**
232
+ * The {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
233
+ */
234
+ defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
231
235
  }
232
236
  declare type S3ClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & BucketEndpointInputConfig & UserAgentInputConfig & EventStreamSerdeInputConfig;
233
237
  /**
@@ -139,7 +139,17 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea
139
139
  * defined by Amazon S3. These permissions are then added to the ACL on the object. For more
140
140
  * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL) Overview</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing ACLs Using the REST
141
141
  * API</a>. </p>
142
- *
142
+ * <p>If the bucket that you're copying objects to uses the bucket owner enforced setting for
143
+ * S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that
144
+ * use this setting only accept PUT requests that don't specify an ACL or PUT requests that
145
+ * specify bucket owner full control ACLs, such as the <code>bucket-owner-full-control</code> canned
146
+ * ACL or an equivalent form of this ACL expressed in the XML format.</p>
147
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html"> Controlling ownership of
148
+ * objects and disabling ACLs</a> in the <i>Amazon S3 User Guide</i>.</p>
149
+ * <note>
150
+ * <p>If your bucket uses the bucket owner enforced setting for Object Ownership,
151
+ * all objects written to the bucket by any account will be owned by the bucket owner.</p>
152
+ * </note>
143
153
  * <p>
144
154
  * <b>Storage Class Options</b>
145
155
  * </p>
@@ -27,9 +27,20 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
27
27
  * bucket in a Region other than US East (N. Virginia), your application must be able to
28
28
  * handle 307 redirect. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual hosting of buckets</a>.</p>
29
29
  * </note>
30
- * <p>When creating a bucket using this operation, you can optionally specify the accounts or
31
- * groups that should be granted specific permissions on the bucket. There are two ways to
32
- * grant the appropriate permissions using the request headers.</p>
30
+ * <p>
31
+ * <b>Access control lists (ACLs)</b>
32
+ * </p>
33
+ * <p>When creating a bucket using this operation, you can optionally configure the bucket ACL to specify the accounts or
34
+ * groups that should be granted specific permissions on the bucket.</p>
35
+ * <important>
36
+ * <p>If your CreateBucket request sets bucket owner enforced for S3 Object Ownership and
37
+ * specifies a bucket ACL that provides access to an external Amazon Web Services account, your request
38
+ * fails with a <code>400</code> error and returns the
39
+ * <code>InvalidBucketAclWithObjectOwnership</code> error code. For more information,
40
+ * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling object
41
+ * ownership</a> in the <i>Amazon S3 User Guide</i>.</p>
42
+ * </important>
43
+ * <p>There are two ways to grant the appropriate permissions using the request headers.</p>
33
44
  * <ul>
34
45
  * <li>
35
46
  * <p>Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3
@@ -42,7 +53,7 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
42
53
  * <code>x-amz-grant-write</code>, <code>x-amz-grant-read-acp</code>,
43
54
  * <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
44
55
  * headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For
45
- * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access control list
56
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html">Access control list
46
57
  * (ACL) overview</a>.</p>
47
58
  * <p>You specify each grantee as a type=value pair, where the type is one of the
48
59
  * following:</p>
@@ -106,13 +117,30 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
106
117
  * <p>
107
118
  * <b>Permissions</b>
108
119
  * </p>
109
- * <p>If your <code>CreateBucket</code> request specifies ACL permissions and the ACL is public-read, public-read-write,
110
- * authenticated-read, or if you specify access permissions explicitly through any other ACL, both
111
- * <code>s3:CreateBucket</code> and <code>s3:PutBucketAcl</code> permissions are needed. If the ACL the
112
- * <code>CreateBucket</code> request is private, only <code>s3:CreateBucket</code> permission is needed. </p>
113
- * <p>If <code>ObjectLockEnabledForBucket</code> is set to true in your <code>CreateBucket</code> request,
114
- * <code>s3:PutBucketObjectLockConfiguration</code> and <code>s3:PutBucketVersioning</code> permissions are required.</p>
115
- *
120
+ * <p>In addition to <code>s3:CreateBucket</code>, the following permissions are required when your CreateBucket includes specific headers:</p>
121
+ * <ul>
122
+ * <li>
123
+ * <p>
124
+ * <b>ACLs</b> - If your <code>CreateBucket</code> request specifies ACL permissions and the ACL is public-read, public-read-write,
125
+ * authenticated-read, or if you specify access permissions explicitly through any other ACL, both
126
+ * <code>s3:CreateBucket</code> and <code>s3:PutBucketAcl</code> permissions are needed. If the ACL the
127
+ * <code>CreateBucket</code> request is private or doesn't specify any ACLs, only <code>s3:CreateBucket</code> permission is needed. </p>
128
+ * </li>
129
+ * <li>
130
+ * <p>
131
+ * <b>Object Lock</b> - If
132
+ * <code>ObjectLockEnabledForBucket</code> is set to true in your
133
+ * <code>CreateBucket</code> request,
134
+ * <code>s3:PutBucketObjectLockConfiguration</code> and
135
+ * <code>s3:PutBucketVersioning</code> permissions are required.</p>
136
+ * </li>
137
+ * <li>
138
+ * <p>
139
+ * <b>S3 Object Ownership</b> - If your CreateBucket
140
+ * request includes the the <code>x-amz-object-ownership</code> header,
141
+ * <code>s3:PutBucketOwnershipControls</code> permission is required.</p>
142
+ * </li>
143
+ * </ul>
116
144
  * <p>The following operations are related to <code>CreateBucket</code>:</p>
117
145
  * <ul>
118
146
  * <li>
@@ -8,8 +8,8 @@ export interface DeleteBucketIntelligentTieringConfigurationCommandOutput extend
8
8
  }
9
9
  /**
10
10
  * <p>Deletes the S3 Intelligent-Tiering configuration from the specified bucket.</p>
11
- * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.</p>
12
- * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
11
+ * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.</p>
12
+ * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
13
13
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage class for automatically optimizing frequently and infrequently accessed objects</a>.</p>
14
14
  * <p>Operations related to
15
15
  * <code>DeleteBucketIntelligentTieringConfiguration</code> include: </p>
@@ -12,6 +12,13 @@ export interface GetBucketAclCommandOutput extends GetBucketAclOutput, __Metadat
12
12
  * return the ACL of the bucket, you must have <code>READ_ACP</code> access to the bucket. If
13
13
  * <code>READ_ACP</code> permission is granted to the anonymous user, you can return the
14
14
  * ACL of the bucket without using an authorization header.</p>
15
+ * <note>
16
+ * <p>If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
17
+ * requests to read ACLs are still supported and return the <code>bucket-owner-full-control</code>
18
+ * ACL with the owner being the account that created the bucket. For more information, see
19
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">
20
+ * Controlling object ownership and disabling ACLs</a> in the <i>Amazon S3 User Guide</i>.</p>
21
+ * </note>
15
22
  *
16
23
  * <p class="title">
17
24
  * <b>Related Resources</b>
@@ -8,8 +8,8 @@ export interface GetBucketIntelligentTieringConfigurationCommandOutput extends G
8
8
  }
9
9
  /**
10
10
  * <p>Gets the S3 Intelligent-Tiering configuration from the specified bucket.</p>
11
- * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.</p>
12
- * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
11
+ * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.</p>
12
+ * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
13
13
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage class for automatically optimizing frequently and infrequently accessed objects</a>.</p>
14
14
  * <p>Operations related to
15
15
  * <code>GetBucketIntelligentTieringConfiguration</code> include: </p>
@@ -9,9 +9,9 @@ export interface GetBucketOwnershipControlsCommandOutput extends GetBucketOwners
9
9
  /**
10
10
  * <p>Retrieves <code>OwnershipControls</code> for an Amazon S3 bucket. To use this operation, you
11
11
  * must have the <code>s3:GetBucketOwnershipControls</code> permission. For more information
12
- * about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
13
- * Permissions in a Policy</a>. </p>
14
- * <p>For information about Amazon S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using Object Ownership</a>. </p>
12
+ * about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html">Specifying
13
+ * permissions in a policy</a>. </p>
14
+ * <p>For information about Amazon S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Using Object Ownership</a>. </p>
15
15
  * <p>The following operations are related to <code>GetBucketOwnershipControls</code>:</p>
16
16
  * <ul>
17
17
  * <li>
@@ -15,7 +15,13 @@ export interface GetObjectAclCommandOutput extends GetObjectAclOutput, __Metadat
15
15
  * </p>
16
16
  * <p>By default, GET returns ACL information about the current version of an object. To
17
17
  * return ACL information about a different version, use the versionId subresource.</p>
18
- *
18
+ * <note>
19
+ * <p>If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
20
+ * requests to read ACLs are still supported and return the <code>bucket-owner-full-control</code>
21
+ * ACL with the owner being the account that created the bucket. For more information, see
22
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">
23
+ * Controlling object ownership and disabling ACLs</a> in the <i>Amazon S3 User Guide</i>.</p>
24
+ * </note>
19
25
  * <p>The following operations are related to <code>GetObjectAcl</code>:</p>
20
26
  * <ul>
21
27
  * <li>
@@ -8,8 +8,8 @@ export interface ListBucketIntelligentTieringConfigurationsCommandOutput extends
8
8
  }
9
9
  /**
10
10
  * <p>Lists the S3 Intelligent-Tiering configuration from the specified bucket.</p>
11
- * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.</p>
12
- * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
11
+ * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.</p>
12
+ * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
13
13
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage class for automatically optimizing frequently and infrequently accessed objects</a>.</p>
14
14
  * <p>Operations related to
15
15
  * <code>ListBucketIntelligentTieringConfigurations</code> include: </p>
@@ -31,7 +31,13 @@ export interface PutBucketAclCommandOutput extends __MetadataBearer {
31
31
  * that updates a bucket ACL using the request body, then you can continue to use that
32
32
  * approach.</p>
33
33
  *
34
- *
34
+ * <important>
35
+ * <p>If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions.
36
+ * You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and
37
+ * return the <code>AccessControlListNotSupported</code> error code. Requests to read ACLs are still supported.
38
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling object ownership</a>
39
+ * in the <i>Amazon S3 User Guide</i>.</p>
40
+ * </important>
35
41
  * <p>
36
42
  * <b>Access Permissions</b>
37
43
  * </p>
@@ -9,8 +9,8 @@ export interface PutBucketIntelligentTieringConfigurationCommandOutput extends _
9
9
  /**
10
10
  * <p>Puts a S3 Intelligent-Tiering configuration to the specified bucket.
11
11
  * You can have up to 1,000 S3 Intelligent-Tiering configurations per bucket.</p>
12
- * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.</p>
13
- * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
12
+ * <p>The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.</p>
13
+ * <p>The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.</p>
14
14
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access">Storage class for automatically optimizing frequently and infrequently accessed objects</a>.</p>
15
15
  * <p>Operations related to
16
16
  * <code>PutBucketIntelligentTieringConfiguration</code> include: </p>
@@ -11,10 +11,15 @@ export interface PutBucketLoggingCommandOutput extends __MetadataBearer {
11
11
  * modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the
12
12
  * source bucket. To set the logging status of a bucket, you must be the bucket owner.</p>
13
13
  *
14
- * <p>The bucket owner is automatically granted FULL_CONTROL to all logs. You use the
15
- * <code>Grantee</code> request element to grant access to other people. The
14
+ * <p>The bucket owner is automatically granted FULL_CONTROL to all logs. You use the <code>Grantee</code> request element to grant access to other people. The
16
15
  * <code>Permissions</code> request element specifies the kind of access the grantee has to
17
16
  * the logs.</p>
17
+ * <important>
18
+ * <p>If the target bucket for log delivery uses the bucket owner enforced
19
+ * setting for S3 Object Ownership, you can't use the <code>Grantee</code> request element
20
+ * to grant access to others. Permissions can only be granted using policies. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general">Permissions for server access log delivery</a> in the
21
+ * <i>Amazon S3 User Guide</i>.</p>
22
+ * </important>
18
23
  *
19
24
  * <p>
20
25
  * <b>Grantee Values</b>
@@ -59,7 +64,7 @@ export interface PutBucketLoggingCommandOutput extends __MetadataBearer {
59
64
  * /></code>
60
65
  * </p>
61
66
  *
62
- * <p>For more information about server access logging, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server Access Logging</a>. </p>
67
+ * <p>For more information about server access logging, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html">Server Access Logging</a> in the <i>Amazon S3 User Guide</i>. </p>
63
68
  *
64
69
  * <p>For more information about creating a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html">CreateBucket</a>. For more
65
70
  * information about returning the logging status of a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html">GetBucketLogging</a>.</p>
@@ -9,8 +9,8 @@ export interface PutBucketOwnershipControlsCommandOutput extends __MetadataBeare
9
9
  /**
10
10
  * <p>Creates or modifies <code>OwnershipControls</code> for an Amazon S3 bucket. To use this
11
11
  * operation, you must have the <code>s3:PutBucketOwnershipControls</code> permission. For
12
- * more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying Permissions in a Policy</a>. </p>
13
- * <p>For information about Amazon S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html">Using Object Ownership</a>. </p>
12
+ * more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html">Specifying permissions in a policy</a>. </p>
13
+ * <p>For information about Amazon S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/user-guide/about-object-ownership.html">Using object ownership</a>. </p>
14
14
  * <p>The following operations are related to <code>PutBucketOwnershipControls</code>:</p>
15
15
  * <ul>
16
16
  * <li>