@aws-sdk/client-s3 3.42.0 → 3.46.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 (34) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist-cjs/endpoints.js +13 -0
  3. package/dist-cjs/models/models_0.js +18 -10
  4. package/dist-cjs/models/models_1.js +7 -1
  5. package/dist-cjs/protocols/Aws_restXml.js +82 -0
  6. package/dist-cjs/runtimeConfig.js +0 -2
  7. package/dist-es/endpoints.js +13 -0
  8. package/dist-es/models/models_0.js +12 -4
  9. package/dist-es/models/models_1.js +4 -0
  10. package/dist-es/protocols/Aws_restXml.js +83 -3
  11. package/dist-es/runtimeConfig.js +0 -2
  12. package/dist-types/S3.d.ts +126 -39
  13. package/dist-types/commands/CompleteMultipartUploadCommand.d.ts +4 -0
  14. package/dist-types/commands/CopyObjectCommand.d.ts +11 -1
  15. package/dist-types/commands/CreateBucketCommand.d.ts +39 -11
  16. package/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +2 -2
  17. package/dist-types/commands/GetBucketAclCommand.d.ts +7 -0
  18. package/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +2 -2
  19. package/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +3 -3
  20. package/dist-types/commands/GetObjectAclCommand.d.ts +7 -1
  21. package/dist-types/commands/GetObjectCommand.d.ts +7 -4
  22. package/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +2 -2
  23. package/dist-types/commands/PutBucketAclCommand.d.ts +7 -1
  24. package/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +2 -2
  25. package/dist-types/commands/PutBucketLoggingCommand.d.ts +8 -3
  26. package/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +2 -2
  27. package/dist-types/commands/PutObjectAclCommand.d.ts +7 -2
  28. package/dist-types/commands/PutObjectCommand.d.ts +14 -2
  29. package/dist-types/commands/SelectObjectContentCommand.d.ts +2 -1
  30. package/dist-types/models/models_0.d.ts +118 -35
  31. package/dist-types/models/models_1.d.ts +16 -1
  32. package/dist-types/ts3.4/models/models_0.d.ts +55 -15
  33. package/dist-types/ts3.4/models/models_1.d.ts +10 -1
  34. package/package.json +49 -55
@@ -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>
@@ -91,13 +91,16 @@ export interface GetObjectCommandOutput extends GetObjectOutput, __MetadataBeare
91
91
  * <note>
92
92
  * <ul>
93
93
  * <li>
94
- * <p>You need the <code>s3:GetObjectVersion</code> permission to access a specific version of an object.
95
- * </p>
94
+ * <p>
95
+ * If you supply a <code>versionId</code>, you need the <code>s3:GetObjectVersion</code> permission to
96
+ * access a specific version of an object. If you request a specific version, you do not need to have
97
+ * the <code>s3:GetObject</code> permission.
98
+ * </p>
96
99
  * </li>
97
100
  * <li>
98
101
  * <p>If the current version of the object is a delete marker, Amazon S3 behaves as if the
99
- * object was deleted and includes <code>x-amz-delete-marker: true</code> in the
100
- * response.</p>
102
+ * object was deleted and includes <code>x-amz-delete-marker: true</code> in the
103
+ * response.</p>
101
104
  * </li>
102
105
  * </ul>
103
106
  * </note>
@@ -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>
@@ -16,8 +16,13 @@ export interface PutObjectAclCommandOutput extends PutObjectAclOutput, __Metadat
16
16
  * the ACL on an object using either the request body or the headers. For example, if you have
17
17
  * an existing application that updates a bucket ACL using the request body, you can continue
18
18
  * 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>
19
- *
20
- *
19
+ * <important>
20
+ * <p>If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions.
21
+ * You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and
22
+ * return the <code>AccessControlListNotSupported</code> error code. Requests to read ACLs are still supported.
23
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling object ownership</a>
24
+ * in the <i>Amazon S3 User Guide</i>.</p>
25
+ * </important>
21
26
  *
22
27
  * <p>
23
28
  * <b>Access Permissions</b>
@@ -52,7 +52,6 @@ export interface PutObjectCommandOutput extends PutObjectOutput, __MetadataBeare
52
52
  * </li>
53
53
  * </ul>
54
54
  * </note>
55
- *
56
55
  * <p>
57
56
  * <b>Server-side Encryption</b>
58
57
  * </p>
@@ -74,7 +73,20 @@ export interface PutObjectCommandOutput extends PutObjectOutput, __MetadataBeare
74
73
  * 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
75
74
  * (ACL) Overview</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html">Managing ACLs Using the REST
76
75
  * API</a>. </p>
77
- *
76
+ * <p>If the bucket that you're uploading objects to uses the bucket owner enforced setting
77
+ * for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that
78
+ * use this setting only accept PUT requests that don't specify an ACL or PUT requests that
79
+ * specify bucket owner full control ACLs, such as the <code>bucket-owner-full-control</code> canned
80
+ * ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other
81
+ * ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a
82
+ * <code>400</code> error with the error code
83
+ * <code>AccessControlListNotSupported</code>.</p>
84
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html"> Controlling ownership of
85
+ * objects and disabling ACLs</a> in the <i>Amazon S3 User Guide</i>.</p>
86
+ * <note>
87
+ * <p>If your bucket uses the bucket owner enforced setting for Object Ownership,
88
+ * all objects written to the bucket by any account will be owned by the bucket owner.</p>
89
+ * </note>
78
90
  * <p>
79
91
  * <b>Storage Class Options</b>
80
92
  * </p>
@@ -16,7 +16,8 @@ export interface SelectObjectContentCommandOutput extends SelectObjectContentOut
16
16
  * <p>This action is not supported by Amazon S3 on Outposts.</p>
17
17
  * <p>For more information about Amazon S3 Select,
18
18
  * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html">Selecting Content from
19
- * Objects</a> in the <i>Amazon S3 User Guide</i>.</p>
19
+ * Objects</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html">SELECT
20
+ * Command</a> in the <i>Amazon S3 User Guide</i>.</p>
20
21
  * <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
21
22
  * and S3 Glacier Select</a> in the <i>Amazon S3 User Guide</i>.</p>
22
23
  * <p></p>