@aws-sdk/client-s3 3.631.0 → 3.633.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.
package/dist-cjs/index.js CHANGED
@@ -241,6 +241,7 @@ __export(src_exports, {
241
241
  WriteGetObjectResponseCommand: () => WriteGetObjectResponseCommand,
242
242
  WriteGetObjectResponseRequestFilterSensitiveLog: () => WriteGetObjectResponseRequestFilterSensitiveLog,
243
243
  __Client: () => import_smithy_client.Client,
244
+ paginateListBuckets: () => paginateListBuckets,
244
245
  paginateListDirectoryBuckets: () => paginateListDirectoryBuckets,
245
246
  paginateListObjectsV2: () => paginateListObjectsV2,
246
247
  paginateListParts: () => paginateListParts,
@@ -2140,7 +2141,9 @@ var se_ListBucketsCommand = /* @__PURE__ */ __name(async (input, context) => {
2140
2141
  const headers = {};
2141
2142
  b.bp("/");
2142
2143
  const query = (0, import_smithy_client.map)({
2143
- [_xi]: [, "ListBuckets"]
2144
+ [_xi]: [, "ListBuckets"],
2145
+ [_mb]: [() => input.MaxBuckets !== void 0, () => input[_MB].toString()],
2146
+ [_ct_]: [, input[_CTo]]
2144
2147
  });
2145
2148
  let body;
2146
2149
  b.m("GET").h(headers).q(query).b(body);
@@ -4083,6 +4086,9 @@ var de_ListBucketsCommand = /* @__PURE__ */ __name(async (output, context) => {
4083
4086
  } else if (data[_Bu] != null && data[_Bu][_B] != null) {
4084
4087
  contents[_Bu] = de_Buckets((0, import_smithy_client.getArrayIfSingleItem)(data[_Bu][_B]), context);
4085
4088
  }
4089
+ if (data[_CTo] != null) {
4090
+ contents[_CTo] = (0, import_smithy_client.expectString)(data[_CTo]);
4091
+ }
4086
4092
  if (data[_O] != null) {
4087
4093
  contents[_O] = de_Owner(data[_O], context);
4088
4094
  }
@@ -7976,6 +7982,7 @@ var _LT = "LocationType";
7976
7982
  var _M = "Marker";
7977
7983
  var _MAO = "MetricsAndOperator";
7978
7984
  var _MAS = "MaxAgeSeconds";
7985
+ var _MB = "MaxBuckets";
7979
7986
  var _MC = "MetricsConfiguration";
7980
7987
  var _MCL = "MetricsConfigurationList";
7981
7988
  var _MD = "MetadataDirective";
@@ -8232,6 +8239,7 @@ var _log = "logging";
8232
8239
  var _lt = "list-type";
8233
8240
  var _m = "metrics";
8234
8241
  var _ma = "marker";
8242
+ var _mb = "max-buckets";
8235
8243
  var _mdb = "max-directory-buckets";
8236
8244
  var _me = "member";
8237
8245
  var _mk = "max-keys";
@@ -10591,17 +10599,21 @@ __name(_S3, "S3");
10591
10599
  var S3 = _S3;
10592
10600
  (0, import_smithy_client.createAggregatedClient)(commands, S3);
10593
10601
 
10594
- // src/pagination/ListDirectoryBucketsPaginator.ts
10602
+ // src/pagination/ListBucketsPaginator.ts
10595
10603
  var import_core4 = require("@smithy/core");
10596
- var paginateListDirectoryBuckets = (0, import_core4.createPaginator)(S3Client, ListDirectoryBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxDirectoryBuckets");
10604
+ var paginateListBuckets = (0, import_core4.createPaginator)(S3Client, ListBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxBuckets");
10597
10605
 
10598
- // src/pagination/ListObjectsV2Paginator.ts
10606
+ // src/pagination/ListDirectoryBucketsPaginator.ts
10599
10607
  var import_core5 = require("@smithy/core");
10600
- var paginateListObjectsV2 = (0, import_core5.createPaginator)(S3Client, ListObjectsV2Command, "ContinuationToken", "NextContinuationToken", "MaxKeys");
10608
+ var paginateListDirectoryBuckets = (0, import_core5.createPaginator)(S3Client, ListDirectoryBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxDirectoryBuckets");
10601
10609
 
10602
- // src/pagination/ListPartsPaginator.ts
10610
+ // src/pagination/ListObjectsV2Paginator.ts
10603
10611
  var import_core6 = require("@smithy/core");
10604
- var paginateListParts = (0, import_core6.createPaginator)(S3Client, ListPartsCommand, "PartNumberMarker", "NextPartNumberMarker", "MaxParts");
10612
+ var paginateListObjectsV2 = (0, import_core6.createPaginator)(S3Client, ListObjectsV2Command, "ContinuationToken", "NextContinuationToken", "MaxKeys");
10613
+
10614
+ // src/pagination/ListPartsPaginator.ts
10615
+ var import_core7 = require("@smithy/core");
10616
+ var paginateListParts = (0, import_core7.createPaginator)(S3Client, ListPartsCommand, "PartNumberMarker", "NextPartNumberMarker", "MaxParts");
10605
10617
 
10606
10618
  // src/waiters/waitForBucketExists.ts
10607
10619
  var import_util_waiter = require("@smithy/util-waiter");
@@ -10807,6 +10819,7 @@ var waitUntilObjectNotExists = /* @__PURE__ */ __name(async (params, input) => {
10807
10819
  UploadPartCommand,
10808
10820
  UploadPartCopyCommand,
10809
10821
  WriteGetObjectResponseCommand,
10822
+ paginateListBuckets,
10810
10823
  paginateListDirectoryBuckets,
10811
10824
  paginateListObjectsV2,
10812
10825
  paginateListParts,
@@ -0,0 +1,4 @@
1
+ import { createPaginator } from "@smithy/core";
2
+ import { ListBucketsCommand } from "../commands/ListBucketsCommand";
3
+ import { S3Client } from "../S3Client";
4
+ export const paginateListBuckets = createPaginator(S3Client, ListBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxBuckets");
@@ -1,4 +1,5 @@
1
1
  export * from "./Interfaces";
2
+ export * from "./ListBucketsPaginator";
2
3
  export * from "./ListDirectoryBucketsPaginator";
3
4
  export * from "./ListObjectsV2Paginator";
4
5
  export * from "./ListPartsPaginator";
@@ -1023,6 +1023,8 @@ export const se_ListBucketsCommand = async (input, context) => {
1023
1023
  b.bp("/");
1024
1024
  const query = map({
1025
1025
  [_xi]: [, "ListBuckets"],
1026
+ [_mb]: [() => input.MaxBuckets !== void 0, () => input[_MB].toString()],
1027
+ [_ct_]: [, input[_CTo]],
1026
1028
  });
1027
1029
  let body;
1028
1030
  b.m("GET").h(headers).q(query).b(body);
@@ -2988,6 +2990,9 @@ export const de_ListBucketsCommand = async (output, context) => {
2988
2990
  else if (data[_Bu] != null && data[_Bu][_B] != null) {
2989
2991
  contents[_Bu] = de_Buckets(__getArrayIfSingleItem(data[_Bu][_B]), context);
2990
2992
  }
2993
+ if (data[_CTo] != null) {
2994
+ contents[_CTo] = __expectString(data[_CTo]);
2995
+ }
2991
2996
  if (data[_O] != null) {
2992
2997
  contents[_O] = de_Owner(data[_O], context);
2993
2998
  }
@@ -7038,6 +7043,7 @@ const _LT = "LocationType";
7038
7043
  const _M = "Marker";
7039
7044
  const _MAO = "MetricsAndOperator";
7040
7045
  const _MAS = "MaxAgeSeconds";
7046
+ const _MB = "MaxBuckets";
7041
7047
  const _MC = "MetricsConfiguration";
7042
7048
  const _MCL = "MetricsConfigurationList";
7043
7049
  const _MD = "MetadataDirective";
@@ -7294,6 +7300,7 @@ const _log = "logging";
7294
7300
  const _lt = "list-type";
7295
7301
  const _m = "metrics";
7296
7302
  const _ma = "marker";
7303
+ const _mb = "max-buckets";
7297
7304
  const _mdb = "max-directory-buckets";
7298
7305
  const _me = "member";
7299
7306
  const _mk = "max-keys";
@@ -37,10 +37,24 @@ declare const AbortMultipartUploadCommand_base: {
37
37
  * storage, you should call the <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html">ListParts</a> API operation and ensure that
38
38
  * the parts list is empty.</p>
39
39
  * <note>
40
- * <p>
41
- * <b>Directory buckets</b> - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
42
- * </code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
40
+ * <ul>
41
+ * <li>
42
+ * <p>
43
+ * <b>Directory buckets</b> -
44
+ * If multipart uploads in a directory bucket are in progress, you can't delete the bucket until all the in-progress multipart uploads are aborted or completed.
45
+ * To delete these in-progress multipart uploads, use the
46
+ * <code>ListMultipartUploads</code> operation to list the in-progress multipart
47
+ * uploads in the bucket and use the <code>AbortMultupartUpload</code> operation to
48
+ * abort all the in-progress multipart uploads.
49
+ * </p>
50
+ * </li>
51
+ * <li>
52
+ * <p>
53
+ * <b>Directory buckets</b> - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
54
+ * </code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
43
55
  * <i>Amazon S3 User Guide</i>.</p>
56
+ * </li>
57
+ * </ul>
44
58
  * </note>
45
59
  * <dl>
46
60
  * <dt>Permissions</dt>
@@ -38,10 +38,20 @@ declare const CopyObjectCommand_base: {
38
38
  * <p>You can copy individual objects between general purpose buckets, between directory buckets, and
39
39
  * between general purpose buckets and directory buckets.</p>
40
40
  * <note>
41
- * <p>
42
- * <b>Directory buckets </b> - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
43
- * </code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
41
+ * <ul>
42
+ * <li>
43
+ * <p>Amazon S3 supports copy operations using Multi-Region Access Points only as a destination when using the Multi-Region Access Point ARN. </p>
44
+ * </li>
45
+ * <li>
46
+ * <p>
47
+ * <b>Directory buckets </b> - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
48
+ * </code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
44
49
  * <i>Amazon S3 User Guide</i>.</p>
50
+ * </li>
51
+ * <li>
52
+ * <p>VPC endpoints don't support cross-Region requests (including copies). If you're using VPC endpoints, your source and destination buckets should be in the same Amazon Web Services Region as your VPC endpoint.</p>
53
+ * </li>
54
+ * </ul>
45
55
  * </note>
46
56
  * <p>Both the
47
57
  * Region that you want to copy the object from and the Region that you want to copy the
@@ -29,22 +29,20 @@ declare const HeadBucketCommand_base: {
29
29
  /**
30
30
  * <p>You can use this operation to determine if a bucket exists and if you have permission to access it. The action returns a <code>200 OK</code> if the bucket exists and you have permission
31
31
  * to access it.</p>
32
- * <p>If the bucket does not exist or you do not have permission to access it, the
32
+ * <note>
33
+ * <p>If the bucket does not exist or you do not have permission to access it, the
33
34
  * <code>HEAD</code> request returns a generic <code>400 Bad Request</code>, <code>403
34
35
  * Forbidden</code> or <code>404 Not Found</code> code. A message body is not included, so
35
36
  * you cannot determine the exception beyond these HTTP response codes.</p>
36
- * <note>
37
- * <p>
38
- * <b>Directory buckets </b> - You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
39
- * <i>Amazon S3 User Guide</i>.</p>
40
37
  * </note>
41
38
  * <dl>
42
39
  * <dt>Authentication and authorization</dt>
43
40
  * <dd>
44
- * <p>All <code>HeadBucket</code> requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the <code>x-amz-</code> prefix, including
41
+ * <p>
42
+ * <b>General purpose buckets</b> - Request to public buckets that grant the s3:ListBucket permission publicly do not need to be signed. All other <code>HeadBucket</code> requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the <code>x-amz-</code> prefix, including
45
43
  * <code>x-amz-copy-source</code>, must be signed. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST Authentication</a>.</p>
46
44
  * <p>
47
- * <b>Directory bucket</b> - You must use IAM credentials to authenticate and authorize your access to the <code>HeadBucket</code> API operation, instead of using the
45
+ * <b>Directory buckets</b> - You must use IAM credentials to authenticate and authorize your access to the <code>HeadBucket</code> API operation, instead of using the
48
46
  * temporary security credentials through the <code>CreateSession</code> API operation.</p>
49
47
  * <p>Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.</p>
50
48
  * </dd>
@@ -75,6 +73,10 @@ declare const HeadBucketCommand_base: {
75
73
  * <p>
76
74
  * <b>Directory buckets </b> - The HTTP Host header syntax is <code>
77
75
  * <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>.</p>
76
+ * <note>
77
+ * <p>You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
78
+ * <i>Amazon S3 User Guide</i>.</p>
79
+ * </note>
78
80
  * </dd>
79
81
  * </dl>
80
82
  * @example
@@ -29,20 +29,16 @@ declare const HeadObjectCommand_base: {
29
29
  /**
30
30
  * <p>The <code>HEAD</code> operation retrieves metadata from an object without returning the
31
31
  * object itself. This operation is useful if you're interested only in an object's metadata.</p>
32
- * <p>A <code>HEAD</code> request has the same options as a <code>GET</code> operation on an
32
+ * <note>
33
+ * <p>A <code>HEAD</code> request has the same options as a <code>GET</code> operation on an
33
34
  * object. The response is identical to the <code>GET</code> response except that there is no
34
35
  * response body. Because of this, if the <code>HEAD</code> request generates an error, it
35
36
  * returns a generic code, such as <code>400 Bad Request</code>, <code>403 Forbidden</code>, <code>404 Not
36
37
  * Found</code>, <code>405 Method Not Allowed</code>, <code>412 Precondition Failed</code>, or <code>304 Not Modified</code>.
37
38
  * It's not possible to retrieve the exact exception of these error codes.</p>
39
+ * </note>
38
40
  * <p>Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
39
41
  * Request Headers</a>.</p>
40
- * <note>
41
- * <p>
42
- * <b>Directory buckets</b> - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
43
- * </code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
44
- * <i>Amazon S3 User Guide</i>.</p>
45
- * </note>
46
42
  * <dl>
47
43
  * <dt>Permissions</dt>
48
44
  * <dd>
@@ -147,6 +143,11 @@ declare const HeadObjectCommand_base: {
147
143
  * <p>
148
144
  * <b>Directory buckets </b> - The HTTP Host header syntax is <code>
149
145
  * <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>.</p>
146
+ * <note>
147
+ * <p>For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
148
+ * </code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
149
+ * <i>Amazon S3 User Guide</i>.</p>
150
+ * </note>
150
151
  * </dd>
151
152
  * </dl>
152
153
  * <p>The following actions are related to <code>HeadObject</code>:</p>
@@ -1,6 +1,6 @@
1
1
  import { Command as $Command } from "@smithy/smithy-client";
2
2
  import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
- import { ListBucketsOutput } from "../models/models_0";
3
+ import { ListBucketsOutput, ListBucketsRequest } from "../models/models_0";
4
4
  import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
5
5
  /**
6
6
  * @public
@@ -12,7 +12,7 @@ export { $Command };
12
12
  *
13
13
  * The input for {@link ListBucketsCommand}.
14
14
  */
15
- export interface ListBucketsCommandInput {
15
+ export interface ListBucketsCommandInput extends ListBucketsRequest {
16
16
  }
17
17
  /**
18
18
  * @public
@@ -40,7 +40,10 @@ declare const ListBucketsCommand_base: {
40
40
  * import { S3Client, ListBucketsCommand } from "@aws-sdk/client-s3"; // ES Modules import
41
41
  * // const { S3Client, ListBucketsCommand } = require("@aws-sdk/client-s3"); // CommonJS import
42
42
  * const client = new S3Client(config);
43
- * const input = {};
43
+ * const input = { // ListBucketsRequest
44
+ * MaxBuckets: Number("int"),
45
+ * ContinuationToken: "STRING_VALUE",
46
+ * };
44
47
  * const command = new ListBucketsCommand(input);
45
48
  * const response = await client.send(command);
46
49
  * // { // ListBucketsOutput
@@ -54,6 +57,7 @@ declare const ListBucketsCommand_base: {
54
57
  * // DisplayName: "STRING_VALUE",
55
58
  * // ID: "STRING_VALUE",
56
59
  * // },
60
+ * // ContinuationToken: "STRING_VALUE",
57
61
  * // };
58
62
  *
59
63
  * ```
@@ -34,6 +34,8 @@ declare const ListMultipartUploadsCommand_base: {
34
34
  * <p>
35
35
  * <b>Directory buckets</b> -
36
36
  * If multipart uploads in a directory bucket are in progress, you can't delete the bucket until all the in-progress multipart uploads are aborted or completed.
37
+ * To delete these in-progress multipart uploads, use the <code>ListMultipartUploads</code> operation to list the in-progress multipart
38
+ * uploads in the bucket and use the <code>AbortMultupartUpload</code> operation to abort all the in-progress multipart uploads.
37
39
  * </p>
38
40
  * </note>
39
41
  * <p>The <code>ListMultipartUploads</code> operation returns a maximum of 1,000 multipart uploads in the response. The limit of 1,000 multipart
@@ -35,10 +35,24 @@ declare const ListObjectsV2Command_base: {
35
35
  * For more information about listing objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html">Listing object keys
36
36
  * programmatically</a> in the <i>Amazon S3 User Guide</i>. To get a list of your buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html">ListBuckets</a>.</p>
37
37
  * <note>
38
- * <p>
39
- * <b>Directory buckets</b> - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
40
- * </code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
38
+ * <ul>
39
+ * <li>
40
+ * <p>
41
+ * <b>General purpose bucket</b> - For general purpose buckets, <code>ListObjectsV2</code> doesn't return prefixes that are related only to in-progress multipart uploads.</p>
42
+ * </li>
43
+ * <li>
44
+ * <p>
45
+ * <b>Directory buckets</b> -
46
+ * For directory buckets, <code>ListObjectsV2</code> response includes the prefixes that are related only to in-progress multipart uploads.
47
+ * </p>
48
+ * </li>
49
+ * <li>
50
+ * <p>
51
+ * <b>Directory buckets</b> - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format <code>https://<i>bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com/<i>key-name</i>
52
+ * </code>. Path-style requests are not supported. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html">Regional and Zonal endpoints</a> in the
41
53
  * <i>Amazon S3 User Guide</i>.</p>
54
+ * </li>
55
+ * </ul>
42
56
  * </note>
43
57
  * <dl>
44
58
  * <dt>Permissions</dt>
@@ -39,7 +39,11 @@ declare const PutBucketEncryptionCommand_base: {
39
39
  * SSE-KMS, you can also configure <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 Bucket
40
40
  * Keys</a>. If you use PutBucketEncryption to set your <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">default bucket encryption</a> to SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 does not validate the KMS key ID provided in PutBucketEncryption requests.</p>
41
41
  * <important>
42
- * <p>This action requires Amazon Web Services Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">
42
+ * <p>If you're specifying a customer managed KMS key, we recommend using a fully qualified
43
+ * KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the
44
+ * requester’s account. This behavior can result in data that's encrypted with a KMS key
45
+ * that belongs to the requester, and not the bucket owner.</p>
46
+ * <p>Also, this action requires Amazon Web Services Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">
43
47
  * Authenticating Requests (Amazon Web Services Signature Version 4)</a>. </p>
44
48
  * </important>
45
49
  * <p>To use this operation, you must have permission to perform the
@@ -1,6 +1,6 @@
1
1
  import { Command as $Command } from "@smithy/smithy-client";
2
2
  import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
- import { PutBucketPolicyRequest } from "../models/models_0";
3
+ import { PutBucketPolicyRequest } from "../models/models_1";
4
4
  import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
5
5
  /**
6
6
  * @public
@@ -30,6 +30,15 @@ declare const PutBucketVersioningCommand_base: {
30
30
  * <note>
31
31
  * <p>This operation is not supported by directory buckets.</p>
32
32
  * </note>
33
+ * <note>
34
+ * <p>When you enable versioning on a bucket for the first time, it might take a short
35
+ * amount of time for the change to be fully propagated. We recommend that you wait for 15
36
+ * minutes after enabling versioning before issuing write operations
37
+ * (<code>PUT</code>
38
+ * or
39
+ * <code>DELETE</code>)
40
+ * on objects in the bucket. </p>
41
+ * </note>
33
42
  * <p>Sets the versioning state of an existing bucket.</p>
34
43
  * <p>You can set the versioning state with one of the following values:</p>
35
44
  * <p>
@@ -5634,6 +5634,12 @@ export interface GetBucketCorsRequest {
5634
5634
  * with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more
5635
5635
  * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html">PUT Bucket encryption</a> in
5636
5636
  * the <i>Amazon S3 API Reference</i>.</p>
5637
+ * <note>
5638
+ * <p>If you're specifying a customer managed KMS key, we recommend using a fully qualified
5639
+ * KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the
5640
+ * requester’s account. This behavior can result in data that's encrypted with a KMS key
5641
+ * that belongs to the requester, and not the bucket owner.</p>
5642
+ * </note>
5637
5643
  * @public
5638
5644
  */
5639
5645
  export interface ServerSideEncryptionByDefault {
@@ -5676,6 +5682,12 @@ export interface ServerSideEncryptionByDefault {
5676
5682
  }
5677
5683
  /**
5678
5684
  * <p>Specifies the default server-side encryption configuration.</p>
5685
+ * <note>
5686
+ * <p>If you're specifying a customer managed KMS key, we recommend using a fully qualified
5687
+ * KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the
5688
+ * requester’s account. This behavior can result in data that's encrypted with a KMS key
5689
+ * that belongs to the requester, and not the bucket owner.</p>
5690
+ * </note>
5679
5691
  * @public
5680
5692
  */
5681
5693
  export interface ServerSideEncryptionRule {
@@ -6603,7 +6615,14 @@ export type PartitionDateSource = (typeof PartitionDateSource)[keyof typeof Part
6603
6615
  */
6604
6616
  export interface PartitionedPrefix {
6605
6617
  /**
6606
- * <p>Specifies the partition date source for the partitioned prefix. PartitionDateSource can be EventTime or DeliveryTime.</p>
6618
+ * <p>Specifies the partition date source for the partitioned prefix.
6619
+ * <code>PartitionDateSource</code> can be <code>EventTime</code> or
6620
+ * <code>DeliveryTime</code>.</p>
6621
+ * <p>For <code>DeliveryTime</code>, the time in the log file names corresponds to the
6622
+ * delivery time for the log files. </p>
6623
+ * <p> For <code>EventTime</code>, The logs delivered are for a specific day only. The year,
6624
+ * month, and day correspond to the day on which the event occurred, and the hour, minutes and
6625
+ * seconds are set to 00 in the key.</p>
6607
6626
  * @public
6608
6627
  */
6609
6628
  PartitionDateSource?: PartitionDateSource;
@@ -7302,6 +7321,12 @@ export interface DeleteMarkerReplication {
7302
7321
  /**
7303
7322
  * <p>Specifies encryption-related information for an Amazon S3 bucket that is a destination for
7304
7323
  * replicated objects.</p>
7324
+ * <note>
7325
+ * <p>If you're specifying a customer managed KMS key, we recommend using a fully qualified
7326
+ * KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the
7327
+ * requester’s account. This behavior can result in data that's encrypted with a KMS key
7328
+ * that belongs to the requester, and not the bucket owner.</p>
7329
+ * </note>
7305
7330
  * @public
7306
7331
  */
7307
7332
  export interface EncryptionConfiguration {
@@ -9257,7 +9282,7 @@ export declare const ObjectLockRetentionMode: {
9257
9282
  */
9258
9283
  export type ObjectLockRetentionMode = (typeof ObjectLockRetentionMode)[keyof typeof ObjectLockRetentionMode];
9259
9284
  /**
9260
- * <p>The container element for specifying the default Object Lock retention settings for new
9285
+ * <p>The container element for optionally specifying the default Object Lock retention settings for new
9261
9286
  * objects placed in the specified bucket.</p>
9262
9287
  * <note>
9263
9288
  * <ul>
@@ -9587,7 +9612,7 @@ export interface PublicAccessBlockConfiguration {
9587
9612
  BlockPublicPolicy?: boolean;
9588
9613
  /**
9589
9614
  * <p>Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting
9590
- * this element to <code>TRUE</code> restricts access to this bucket to only Amazon Web Service principals and authorized users within this account if the bucket has
9615
+ * this element to <code>TRUE</code> restricts access to this bucket to only Amazon Web Servicesservice principals and authorized users within this account if the bucket has
9591
9616
  * a public policy.</p>
9592
9617
  * <p>Enabling this setting doesn't affect previously stored bucket policies, except that
9593
9618
  * public and cross-account access within any public bucket policy, including non-public
@@ -9648,16 +9673,13 @@ export interface HeadBucketOutput {
9648
9673
  BucketLocationName?: string;
9649
9674
  /**
9650
9675
  * <p>The Region that the bucket is located.</p>
9651
- * <note>
9652
- * <p>This functionality is not supported for directory buckets.</p>
9653
- * </note>
9654
9676
  * @public
9655
9677
  */
9656
9678
  BucketRegion?: string;
9657
9679
  /**
9658
9680
  * <p>Indicates whether the bucket name used in the request is an access point alias.</p>
9659
9681
  * <note>
9660
- * <p>This functionality is not supported for directory buckets.</p>
9682
+ * <p>For directory buckets, the value of this field is <code>false</code>.</p>
9661
9683
  * </note>
9662
9684
  * @public
9663
9685
  */
@@ -10527,6 +10549,33 @@ export interface ListBucketsOutput {
10527
10549
  * @public
10528
10550
  */
10529
10551
  Owner?: Owner;
10552
+ /**
10553
+ * <p>
10554
+ * <code>ContinuationToken</code> is included in the
10555
+ * response when there are more buckets that can be listed with pagination. The next <code>ListBuckets</code> request to Amazon S3 can be continued with this <code>ContinuationToken</code>. <code>ContinuationToken</code> is obfuscated and is not a real bucket.</p>
10556
+ * @public
10557
+ */
10558
+ ContinuationToken?: string;
10559
+ }
10560
+ /**
10561
+ * @public
10562
+ */
10563
+ export interface ListBucketsRequest {
10564
+ /**
10565
+ * <p>Maximum number of buckets to be returned in response. When the number is more than the count of buckets that are owned by an Amazon Web Services account, return all the buckets in response.</p>
10566
+ * @public
10567
+ */
10568
+ MaxBuckets?: number;
10569
+ /**
10570
+ * <p>
10571
+ * <code>ContinuationToken</code> indicates to Amazon S3 that the list is being continued on
10572
+ * this bucket with a token. <code>ContinuationToken</code> is obfuscated and is not a real
10573
+ * key. You can use this <code>ContinuationToken</code> for pagination of the list results. </p>
10574
+ * <p>Length Constraints: Minimum length of 0. Maximum length of 1024.</p>
10575
+ * <p>Required: No.</p>
10576
+ * @public
10577
+ */
10578
+ ContinuationToken?: string;
10530
10579
  }
10531
10580
  /**
10532
10581
  * @public
@@ -10550,9 +10599,8 @@ export interface ListDirectoryBucketsOutput {
10550
10599
  export interface ListDirectoryBucketsRequest {
10551
10600
  /**
10552
10601
  * <p>
10553
- * <code>ContinuationToken</code> indicates to Amazon S3 that the list is being continued on
10554
- * this bucket with a token. <code>ContinuationToken</code> is obfuscated and is not a real
10555
- * key. You can use this <code>ContinuationToken</code> for pagination of the list results. </p>
10602
+ * <code>ContinuationToken</code> indicates to Amazon S3 that the list is being continued on buckets in this account with a token. <code>ContinuationToken</code> is obfuscated and is not a real
10603
+ * bucket name. You can use this <code>ContinuationToken</code> for the pagination of the list results. </p>
10556
10604
  * @public
10557
10605
  */
10558
10606
  ContinuationToken?: string;
@@ -10816,11 +10864,19 @@ export interface ListMultipartUploadsRequest {
10816
10864
  */
10817
10865
  Delimiter?: string;
10818
10866
  /**
10819
- * <p>Requests Amazon S3 to encode the object keys in the response and specifies the encoding
10820
- * method to use. An object key can contain any Unicode character; however, the XML 1.0 parser
10821
- * cannot parse some characters, such as characters with an ASCII value from 0 to 10. For
10822
- * characters that are not supported in XML 1.0, you can add this parameter to request that
10823
- * Amazon S3 encode the keys in the response.</p>
10867
+ * <p>Encoding type used by Amazon S3 to encode the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html">object keys</a> in the response.
10868
+ * Responses are encoded only in UTF-8. An object key can contain any Unicode character.
10869
+ * However, the XML 1.0 parser can't parse certain characters, such as characters with an
10870
+ * ASCII value from 0 to 10. For characters that aren't supported in XML 1.0, you can add this
10871
+ * parameter to request that Amazon S3 encode the keys in the response. For more information about
10872
+ * characters to avoid in object key names, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines">Object key naming
10873
+ * guidelines</a>.</p>
10874
+ * <note>
10875
+ * <p>When using the URL encoding type, non-ASCII characters that are used in an object's
10876
+ * key name will be percent-encoded according to UTF-8 code values. For example, the object
10877
+ * <code>test_file(3).png</code> will appear as
10878
+ * <code>test_file%283%29.png</code>.</p>
10879
+ * </note>
10824
10880
  * @public
10825
10881
  */
10826
10882
  EncodingType?: EncodingType;
@@ -11130,10 +11186,19 @@ export interface ListObjectsOutput {
11130
11186
  */
11131
11187
  CommonPrefixes?: CommonPrefix[];
11132
11188
  /**
11133
- * <p>Encoding type used by Amazon S3 to encode object keys in the response. If using
11134
- * <code>url</code>, non-ASCII characters used in an object's key name will be URL encoded.
11135
- * For example, the object <code>test_file(3).png</code> will appear as
11189
+ * <p>Encoding type used by Amazon S3 to encode the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html">object keys</a> in the response.
11190
+ * Responses are encoded only in UTF-8. An object key can contain any Unicode character.
11191
+ * However, the XML 1.0 parser can't parse certain characters, such as characters with an
11192
+ * ASCII value from 0 to 10. For characters that aren't supported in XML 1.0, you can add this
11193
+ * parameter to request that Amazon S3 encode the keys in the response. For more information about
11194
+ * characters to avoid in object key names, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines">Object key naming
11195
+ * guidelines</a>.</p>
11196
+ * <note>
11197
+ * <p>When using the URL encoding type, non-ASCII characters that are used in an object's
11198
+ * key name will be percent-encoded according to UTF-8 code values. For example, the object
11199
+ * <code>test_file(3).png</code> will appear as
11136
11200
  * <code>test_file%283%29.png</code>.</p>
11201
+ * </note>
11137
11202
  * @public
11138
11203
  */
11139
11204
  EncodingType?: EncodingType;
@@ -11190,11 +11255,19 @@ export interface ListObjectsRequest {
11190
11255
  */
11191
11256
  Delimiter?: string;
11192
11257
  /**
11193
- * <p>Requests Amazon S3 to encode the object keys in the response and specifies the encoding
11194
- * method to use. An object key can contain any Unicode character; however, the XML 1.0 parser
11195
- * cannot parse some characters, such as characters with an ASCII value from 0 to 10. For
11196
- * characters that are not supported in XML 1.0, you can add this parameter to request that
11197
- * Amazon S3 encode the keys in the response.</p>
11258
+ * <p>Encoding type used by Amazon S3 to encode the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html">object keys</a> in the response.
11259
+ * Responses are encoded only in UTF-8. An object key can contain any Unicode character.
11260
+ * However, the XML 1.0 parser can't parse certain characters, such as characters with an
11261
+ * ASCII value from 0 to 10. For characters that aren't supported in XML 1.0, you can add this
11262
+ * parameter to request that Amazon S3 encode the keys in the response. For more information about
11263
+ * characters to avoid in object key names, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines">Object key naming
11264
+ * guidelines</a>.</p>
11265
+ * <note>
11266
+ * <p>When using the URL encoding type, non-ASCII characters that are used in an object's
11267
+ * key name will be percent-encoded according to UTF-8 code values. For example, the object
11268
+ * <code>test_file(3).png</code> will appear as
11269
+ * <code>test_file%283%29.png</code>.</p>
11270
+ * </note>
11198
11271
  * @public
11199
11272
  */
11200
11273
  EncodingType?: EncodingType;
@@ -11414,10 +11487,19 @@ export interface ListObjectsV2Request {
11414
11487
  */
11415
11488
  Delimiter?: string;
11416
11489
  /**
11417
- * <p>Encoding type used by Amazon S3 to encode object keys in the response. If using
11418
- * <code>url</code>, non-ASCII characters used in an object's key name will be URL encoded.
11419
- * For example, the object <code>test_file(3).png</code> will appear as
11490
+ * <p>Encoding type used by Amazon S3 to encode the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html">object keys</a> in the response.
11491
+ * Responses are encoded only in UTF-8. An object key can contain any Unicode character.
11492
+ * However, the XML 1.0 parser can't parse certain characters, such as characters with an
11493
+ * ASCII value from 0 to 10. For characters that aren't supported in XML 1.0, you can add this
11494
+ * parameter to request that Amazon S3 encode the keys in the response. For more information about
11495
+ * characters to avoid in object key names, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines">Object key naming
11496
+ * guidelines</a>.</p>
11497
+ * <note>
11498
+ * <p>When using the URL encoding type, non-ASCII characters that are used in an object's
11499
+ * key name will be percent-encoded according to UTF-8 code values. For example, the object
11500
+ * <code>test_file(3).png</code> will appear as
11420
11501
  * <code>test_file%283%29.png</code>.</p>
11502
+ * </note>
11421
11503
  * @public
11422
11504
  */
11423
11505
  EncodingType?: EncodingType;
@@ -11713,11 +11795,19 @@ export interface ListObjectVersionsRequest {
11713
11795
  */
11714
11796
  Delimiter?: string;
11715
11797
  /**
11716
- * <p>Requests Amazon S3 to encode the object keys in the response and specifies the encoding
11717
- * method to use. An object key can contain any Unicode character; however, the XML 1.0 parser
11718
- * cannot parse some characters, such as characters with an ASCII value from 0 to 10. For
11719
- * characters that are not supported in XML 1.0, you can add this parameter to request that
11720
- * Amazon S3 encode the keys in the response.</p>
11798
+ * <p>Encoding type used by Amazon S3 to encode the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html">object keys</a> in the response.
11799
+ * Responses are encoded only in UTF-8. An object key can contain any Unicode character.
11800
+ * However, the XML 1.0 parser can't parse certain characters, such as characters with an
11801
+ * ASCII value from 0 to 10. For characters that aren't supported in XML 1.0, you can add this
11802
+ * parameter to request that Amazon S3 encode the keys in the response. For more information about
11803
+ * characters to avoid in object key names, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines">Object key naming
11804
+ * guidelines</a>.</p>
11805
+ * <note>
11806
+ * <p>When using the URL encoding type, non-ASCII characters that are used in an object's
11807
+ * key name will be percent-encoded according to UTF-8 code values. For example, the object
11808
+ * <code>test_file(3).png</code> will appear as
11809
+ * <code>test_file%283%29.png</code>.</p>
11810
+ * </note>
11721
11811
  * @public
11722
11812
  */
11723
11813
  EncodingType?: EncodingType;
@@ -12528,93 +12618,6 @@ export interface PutBucketOwnershipControlsRequest {
12528
12618
  */
12529
12619
  OwnershipControls: OwnershipControls | undefined;
12530
12620
  }
12531
- /**
12532
- * @public
12533
- */
12534
- export interface PutBucketPolicyRequest {
12535
- /**
12536
- * <p>The name of the bucket.</p>
12537
- * <p>
12538
- * <b>Directory buckets </b> - When you use this operation with a directory bucket, you must use path-style requests in the format <code>https://s3express-control.<i>region_code</i>.amazonaws.com/<i>bucket-name</i>
12539
- * </code>. Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format <code>
12540
- * <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for example, <code>
12541
- * <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>
12542
- * </p>
12543
- * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
12544
- * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
12545
- * @public
12546
- */
12547
- Bucket: string | undefined;
12548
- /**
12549
- * <p>The MD5 hash of the request body.</p>
12550
- * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p>
12551
- * <note>
12552
- * <p>This functionality is not supported for directory buckets.</p>
12553
- * </note>
12554
- * @public
12555
- */
12556
- ContentMD5?: string;
12557
- /**
12558
- * <p>Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any
12559
- * additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum-<i>algorithm</i>
12560
- * </code> or
12561
- * <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>.</p>
12562
- * <p>For the <code>x-amz-checksum-<i>algorithm</i>
12563
- * </code> header, replace <code>
12564
- * <i>algorithm</i>
12565
- * </code> with the supported algorithm from the following list: </p>
12566
- * <ul>
12567
- * <li>
12568
- * <p>CRC32</p>
12569
- * </li>
12570
- * <li>
12571
- * <p>CRC32C</p>
12572
- * </li>
12573
- * <li>
12574
- * <p>SHA1</p>
12575
- * </li>
12576
- * <li>
12577
- * <p>SHA256</p>
12578
- * </li>
12579
- * </ul>
12580
- * <p>For more
12581
- * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
12582
- * the <i>Amazon S3 User Guide</i>.</p>
12583
- * <p>If the individual checksum value you provide through <code>x-amz-checksum-<i>algorithm</i>
12584
- * </code> doesn't match the checksum algorithm you set through <code>x-amz-sdk-checksum-algorithm</code>, Amazon S3 ignores any provided
12585
- * <code>ChecksumAlgorithm</code> parameter and uses the checksum algorithm that matches the provided value in <code>x-amz-checksum-<i>algorithm</i>
12586
- * </code>.</p>
12587
- * <note>
12588
- * <p>For directory buckets, when you use Amazon Web Services SDKs, <code>CRC32</code> is the default checksum algorithm that's used for performance.</p>
12589
- * </note>
12590
- * @public
12591
- */
12592
- ChecksumAlgorithm?: ChecksumAlgorithm;
12593
- /**
12594
- * <p>Set this parameter to true to confirm that you want to remove your permissions to change
12595
- * this bucket policy in the future.</p>
12596
- * <note>
12597
- * <p>This functionality is not supported for directory buckets.</p>
12598
- * </note>
12599
- * @public
12600
- */
12601
- ConfirmRemoveSelfBucketAccess?: boolean;
12602
- /**
12603
- * <p>The bucket policy as a JSON document.</p>
12604
- * <p>For directory buckets, the only IAM action supported in the bucket policy is <code>s3express:CreateSession</code>.</p>
12605
- * @public
12606
- */
12607
- Policy: string | undefined;
12608
- /**
12609
- * <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
12610
- * <note>
12611
- * <p>For directory buckets, this header is not supported in this API operation. If you specify this header, the request fails with the HTTP status code
12612
- * <code>501 Not Implemented</code>.</p>
12613
- * </note>
12614
- * @public
12615
- */
12616
- ExpectedBucketOwner?: string;
12617
- }
12618
12621
  /**
12619
12622
  * @internal
12620
12623
  */
@@ -2,6 +2,93 @@ import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-cli
2
2
  import { StreamingBlobTypes } from "@smithy/types";
3
3
  import { AccessControlPolicy, BucketVersioningStatus, ChecksumAlgorithm, ErrorDocument, Grant, IndexDocument, ObjectCannedACL, ObjectLockConfiguration, ObjectLockLegalHold, ObjectLockLegalHoldStatus, ObjectLockMode, ObjectLockRetention, Payer, PublicAccessBlockConfiguration, RedirectAllRequestsTo, ReplicationConfiguration, ReplicationStatus, RequestCharged, RequestPayer, RoutingRule, ServerSideEncryption, StorageClass, Tag } from "./models_0";
4
4
  import { S3ServiceException as __BaseException } from "./S3ServiceException";
5
+ /**
6
+ * @public
7
+ */
8
+ export interface PutBucketPolicyRequest {
9
+ /**
10
+ * <p>The name of the bucket.</p>
11
+ * <p>
12
+ * <b>Directory buckets </b> - When you use this operation with a directory bucket, you must use path-style requests in the format <code>https://s3express-control.<i>region_code</i>.amazonaws.com/<i>bucket-name</i>
13
+ * </code>. Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format <code>
14
+ * <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for example, <code>
15
+ * <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>
16
+ * </p>
17
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
18
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
19
+ * @public
20
+ */
21
+ Bucket: string | undefined;
22
+ /**
23
+ * <p>The MD5 hash of the request body.</p>
24
+ * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p>
25
+ * <note>
26
+ * <p>This functionality is not supported for directory buckets.</p>
27
+ * </note>
28
+ * @public
29
+ */
30
+ ContentMD5?: string;
31
+ /**
32
+ * <p>Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any
33
+ * additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum-<i>algorithm</i>
34
+ * </code> or
35
+ * <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>.</p>
36
+ * <p>For the <code>x-amz-checksum-<i>algorithm</i>
37
+ * </code> header, replace <code>
38
+ * <i>algorithm</i>
39
+ * </code> with the supported algorithm from the following list: </p>
40
+ * <ul>
41
+ * <li>
42
+ * <p>CRC32</p>
43
+ * </li>
44
+ * <li>
45
+ * <p>CRC32C</p>
46
+ * </li>
47
+ * <li>
48
+ * <p>SHA1</p>
49
+ * </li>
50
+ * <li>
51
+ * <p>SHA256</p>
52
+ * </li>
53
+ * </ul>
54
+ * <p>For more
55
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
56
+ * the <i>Amazon S3 User Guide</i>.</p>
57
+ * <p>If the individual checksum value you provide through <code>x-amz-checksum-<i>algorithm</i>
58
+ * </code> doesn't match the checksum algorithm you set through <code>x-amz-sdk-checksum-algorithm</code>, Amazon S3 ignores any provided
59
+ * <code>ChecksumAlgorithm</code> parameter and uses the checksum algorithm that matches the provided value in <code>x-amz-checksum-<i>algorithm</i>
60
+ * </code>.</p>
61
+ * <note>
62
+ * <p>For directory buckets, when you use Amazon Web Services SDKs, <code>CRC32</code> is the default checksum algorithm that's used for performance.</p>
63
+ * </note>
64
+ * @public
65
+ */
66
+ ChecksumAlgorithm?: ChecksumAlgorithm;
67
+ /**
68
+ * <p>Set this parameter to true to confirm that you want to remove your permissions to change
69
+ * this bucket policy in the future.</p>
70
+ * <note>
71
+ * <p>This functionality is not supported for directory buckets.</p>
72
+ * </note>
73
+ * @public
74
+ */
75
+ ConfirmRemoveSelfBucketAccess?: boolean;
76
+ /**
77
+ * <p>The bucket policy as a JSON document.</p>
78
+ * <p>For directory buckets, the only IAM action supported in the bucket policy is <code>s3express:CreateSession</code>.</p>
79
+ * @public
80
+ */
81
+ Policy: string | undefined;
82
+ /**
83
+ * <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
84
+ * <note>
85
+ * <p>For directory buckets, this header is not supported in this API operation. If you specify this header, the request fails with the HTTP status code
86
+ * <code>501 Not Implemented</code>.</p>
87
+ * </note>
88
+ * @public
89
+ */
90
+ ExpectedBucketOwner?: string;
91
+ }
5
92
  /**
6
93
  * @public
7
94
  */
@@ -1977,7 +2064,12 @@ export interface ProgressEvent {
1977
2064
  */
1978
2065
  export interface RecordsEvent {
1979
2066
  /**
1980
- * <p>The byte array of partial, one or more result records.</p>
2067
+ * <p>The byte array of partial, one or more result records. S3 Select doesn't guarantee that
2068
+ * a record will be self-contained in one record frame. To ensure continuous streaming of
2069
+ * data, S3 Select might split the same record across multiple record frames instead of
2070
+ * aggregating the results in memory. Some S3 clients (for example, the SDK for Java) handle this behavior by creating a <code>ByteStream</code> out of the response by
2071
+ * default. Other clients might not handle this behavior by default. In those cases, you must
2072
+ * aggregate the results on the client side and parse the response.</p>
1981
2073
  * @public
1982
2074
  */
1983
2075
  Payload?: Uint8Array;
@@ -0,0 +1,7 @@
1
+ import { Paginator } from "@smithy/types";
2
+ import { ListBucketsCommandInput, ListBucketsCommandOutput } from "../commands/ListBucketsCommand";
3
+ import { S3PaginationConfiguration } from "./Interfaces";
4
+ /**
5
+ * @public
6
+ */
7
+ export declare const paginateListBuckets: (config: S3PaginationConfiguration, input: ListBucketsCommandInput, ...rest: any[]) => Paginator<ListBucketsCommandOutput>;
@@ -1,4 +1,5 @@
1
1
  export * from "./Interfaces";
2
+ export * from "./ListBucketsPaginator";
2
3
  export * from "./ListDirectoryBucketsPaginator";
3
4
  export * from "./ListObjectsV2Paginator";
4
5
  export * from "./ListPartsPaginator";
@@ -1,6 +1,6 @@
1
1
  import { Command as $Command } from "@smithy/smithy-client";
2
2
  import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
- import { ListBucketsOutput } from "../models/models_0";
3
+ import { ListBucketsOutput, ListBucketsRequest } from "../models/models_0";
4
4
  import {
5
5
  S3ClientResolvedConfig,
6
6
  ServiceInputTypes,
@@ -8,7 +8,7 @@ import {
8
8
  } from "../S3Client";
9
9
  export { __MetadataBearer };
10
10
  export { $Command };
11
- export interface ListBucketsCommandInput {}
11
+ export interface ListBucketsCommandInput extends ListBucketsRequest {}
12
12
  export interface ListBucketsCommandOutput
13
13
  extends ListBucketsOutput,
14
14
  __MetadataBearer {}
@@ -1,6 +1,6 @@
1
1
  import { Command as $Command } from "@smithy/smithy-client";
2
2
  import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
- import { PutBucketPolicyRequest } from "../models/models_0";
3
+ import { PutBucketPolicyRequest } from "../models/models_1";
4
4
  import {
5
5
  S3ClientResolvedConfig,
6
6
  ServiceInputTypes,
@@ -1735,6 +1735,11 @@ export interface Bucket {
1735
1735
  export interface ListBucketsOutput {
1736
1736
  Buckets?: Bucket[];
1737
1737
  Owner?: Owner;
1738
+ ContinuationToken?: string;
1739
+ }
1740
+ export interface ListBucketsRequest {
1741
+ MaxBuckets?: number;
1742
+ ContinuationToken?: string;
1738
1743
  }
1739
1744
  export interface ListDirectoryBucketsOutput {
1740
1745
  Buckets?: Bucket[];
@@ -2059,14 +2064,6 @@ export interface PutBucketOwnershipControlsRequest {
2059
2064
  ExpectedBucketOwner?: string;
2060
2065
  OwnershipControls: OwnershipControls | undefined;
2061
2066
  }
2062
- export interface PutBucketPolicyRequest {
2063
- Bucket: string | undefined;
2064
- ContentMD5?: string;
2065
- ChecksumAlgorithm?: ChecksumAlgorithm;
2066
- ConfirmRemoveSelfBucketAccess?: boolean;
2067
- Policy: string | undefined;
2068
- ExpectedBucketOwner?: string;
2069
- }
2070
2067
  export declare const CompleteMultipartUploadOutputFilterSensitiveLog: (
2071
2068
  obj: CompleteMultipartUploadOutput
2072
2069
  ) => any;
@@ -26,6 +26,14 @@ import {
26
26
  Tag,
27
27
  } from "./models_0";
28
28
  import { S3ServiceException as __BaseException } from "./S3ServiceException";
29
+ export interface PutBucketPolicyRequest {
30
+ Bucket: string | undefined;
31
+ ContentMD5?: string;
32
+ ChecksumAlgorithm?: ChecksumAlgorithm;
33
+ ConfirmRemoveSelfBucketAccess?: boolean;
34
+ Policy: string | undefined;
35
+ ExpectedBucketOwner?: string;
36
+ }
29
37
  export interface PutBucketReplicationRequest {
30
38
  Bucket: string | undefined;
31
39
  ContentMD5?: string;
@@ -0,0 +1,11 @@
1
+ import { Paginator } from "@smithy/types";
2
+ import {
3
+ ListBucketsCommandInput,
4
+ ListBucketsCommandOutput,
5
+ } from "../commands/ListBucketsCommand";
6
+ import { S3PaginationConfiguration } from "./Interfaces";
7
+ export declare const paginateListBuckets: (
8
+ config: S3PaginationConfiguration,
9
+ input: ListBucketsCommandInput,
10
+ ...rest: any[]
11
+ ) => Paginator<ListBucketsCommandOutput>;
@@ -1,4 +1,5 @@
1
1
  export * from "./Interfaces";
2
+ export * from "./ListBucketsPaginator";
2
3
  export * from "./ListDirectoryBucketsPaginator";
3
4
  export * from "./ListObjectsV2Paginator";
4
5
  export * from "./ListPartsPaginator";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-s3",
3
3
  "description": "AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",
4
- "version": "3.631.0",
4
+ "version": "3.633.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-s3",
@@ -26,10 +26,10 @@
26
26
  "@aws-crypto/sha1-browser": "5.2.0",
27
27
  "@aws-crypto/sha256-browser": "5.2.0",
28
28
  "@aws-crypto/sha256-js": "5.2.0",
29
- "@aws-sdk/client-sso-oidc": "3.631.0",
30
- "@aws-sdk/client-sts": "3.631.0",
29
+ "@aws-sdk/client-sso-oidc": "3.632.0",
30
+ "@aws-sdk/client-sts": "3.632.0",
31
31
  "@aws-sdk/core": "3.629.0",
32
- "@aws-sdk/credential-provider-node": "3.631.0",
32
+ "@aws-sdk/credential-provider-node": "3.632.0",
33
33
  "@aws-sdk/middleware-bucket-endpoint": "3.620.0",
34
34
  "@aws-sdk/middleware-expect-continue": "3.620.0",
35
35
  "@aws-sdk/middleware-flexible-checksums": "3.620.0",
@@ -37,13 +37,13 @@
37
37
  "@aws-sdk/middleware-location-constraint": "3.609.0",
38
38
  "@aws-sdk/middleware-logger": "3.609.0",
39
39
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
40
- "@aws-sdk/middleware-sdk-s3": "3.629.0",
40
+ "@aws-sdk/middleware-sdk-s3": "3.633.0",
41
41
  "@aws-sdk/middleware-ssec": "3.609.0",
42
- "@aws-sdk/middleware-user-agent": "3.631.0",
42
+ "@aws-sdk/middleware-user-agent": "3.632.0",
43
43
  "@aws-sdk/region-config-resolver": "3.614.0",
44
- "@aws-sdk/signature-v4-multi-region": "3.629.0",
44
+ "@aws-sdk/signature-v4-multi-region": "3.633.0",
45
45
  "@aws-sdk/types": "3.609.0",
46
- "@aws-sdk/util-endpoints": "3.631.0",
46
+ "@aws-sdk/util-endpoints": "3.632.0",
47
47
  "@aws-sdk/util-user-agent-browser": "3.609.0",
48
48
  "@aws-sdk/util-user-agent-node": "3.614.0",
49
49
  "@aws-sdk/xml-builder": "3.609.0",
@@ -83,7 +83,7 @@
83
83
  "tslib": "^2.6.2"
84
84
  },
85
85
  "devDependencies": {
86
- "@aws-sdk/signature-v4-crt": "3.629.0",
86
+ "@aws-sdk/signature-v4-crt": "3.633.0",
87
87
  "@tsconfig/node16": "16.1.3",
88
88
  "@types/chai": "^4.2.11",
89
89
  "@types/mocha": "^8.0.4",