@aws-sdk/client-s3 3.701.0 → 3.705.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 (74) hide show
  1. package/README.md +24 -0
  2. package/dist-cjs/endpoint/ruleset.js +3 -3
  3. package/dist-cjs/index.js +334 -104
  4. package/dist-es/S3.js +6 -0
  5. package/dist-es/commands/CreateBucketMetadataTableConfigurationCommand.js +32 -0
  6. package/dist-es/commands/DeleteBucketMetadataTableConfigurationCommand.js +26 -0
  7. package/dist-es/commands/GetBucketMetadataTableConfigurationCommand.js +28 -0
  8. package/dist-es/commands/PutBucketEncryptionCommand.js +1 -1
  9. package/dist-es/commands/PutBucketInventoryConfigurationCommand.js +1 -1
  10. package/dist-es/commands/index.js +3 -0
  11. package/dist-es/endpoint/ruleset.js +3 -3
  12. package/dist-es/models/models_0.js +2 -12
  13. package/dist-es/models/models_1.js +13 -0
  14. package/dist-es/protocols/Aws_restXml.js +157 -0
  15. package/dist-types/S3.d.ts +21 -0
  16. package/dist-types/S3Client.d.ts +5 -2
  17. package/dist-types/commands/AbortMultipartUploadCommand.d.ts +4 -3
  18. package/dist-types/commands/CompleteMultipartUploadCommand.d.ts +4 -3
  19. package/dist-types/commands/CopyObjectCommand.d.ts +4 -3
  20. package/dist-types/commands/CreateBucketCommand.d.ts +19 -18
  21. package/dist-types/commands/CreateBucketMetadataTableConfigurationCommand.d.ts +134 -0
  22. package/dist-types/commands/CreateMultipartUploadCommand.d.ts +4 -3
  23. package/dist-types/commands/CreateSessionCommand.d.ts +3 -2
  24. package/dist-types/commands/DeleteBucketCommand.d.ts +4 -3
  25. package/dist-types/commands/DeleteBucketEncryptionCommand.d.ts +1 -1
  26. package/dist-types/commands/DeleteBucketLifecycleCommand.d.ts +3 -2
  27. package/dist-types/commands/DeleteBucketMetadataTableConfigurationCommand.d.ts +95 -0
  28. package/dist-types/commands/DeleteBucketPolicyCommand.d.ts +4 -3
  29. package/dist-types/commands/DeleteObjectCommand.d.ts +53 -43
  30. package/dist-types/commands/DeleteObjectsCommand.d.ts +26 -25
  31. package/dist-types/commands/GetBucketEncryptionCommand.d.ts +1 -1
  32. package/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +3 -2
  33. package/dist-types/commands/GetBucketMetadataTableConfigurationCommand.d.ts +111 -0
  34. package/dist-types/commands/GetBucketPolicyCommand.d.ts +4 -3
  35. package/dist-types/commands/GetObjectAttributesCommand.d.ts +4 -3
  36. package/dist-types/commands/GetObjectCommand.d.ts +4 -3
  37. package/dist-types/commands/HeadBucketCommand.d.ts +4 -3
  38. package/dist-types/commands/HeadObjectCommand.d.ts +4 -3
  39. package/dist-types/commands/ListDirectoryBucketsCommand.d.ts +3 -2
  40. package/dist-types/commands/ListMultipartUploadsCommand.d.ts +4 -3
  41. package/dist-types/commands/ListObjectsV2Command.d.ts +4 -3
  42. package/dist-types/commands/ListPartsCommand.d.ts +4 -3
  43. package/dist-types/commands/PutBucketCorsCommand.d.ts +1 -1
  44. package/dist-types/commands/PutBucketEncryptionCommand.d.ts +5 -4
  45. package/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +1 -1
  46. package/dist-types/commands/PutBucketInventoryConfigurationCommand.d.ts +1 -1
  47. package/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +8 -3
  48. package/dist-types/commands/PutBucketLoggingCommand.d.ts +1 -1
  49. package/dist-types/commands/PutBucketMetricsConfigurationCommand.d.ts +1 -1
  50. package/dist-types/commands/PutBucketPolicyCommand.d.ts +4 -3
  51. package/dist-types/commands/PutObjectCommand.d.ts +53 -52
  52. package/dist-types/commands/UploadPartCommand.d.ts +4 -3
  53. package/dist-types/commands/UploadPartCopyCommand.d.ts +4 -3
  54. package/dist-types/commands/index.d.ts +3 -0
  55. package/dist-types/models/models_0.d.ts +443 -411
  56. package/dist-types/models/models_1.d.ts +394 -18
  57. package/dist-types/protocols/Aws_restXml.d.ts +27 -0
  58. package/dist-types/ts3.4/S3.d.ts +69 -0
  59. package/dist-types/ts3.4/S3Client.d.ts +18 -0
  60. package/dist-types/ts3.4/commands/CreateBucketMetadataTableConfigurationCommand.d.ts +47 -0
  61. package/dist-types/ts3.4/commands/DeleteBucketMetadataTableConfigurationCommand.d.ts +47 -0
  62. package/dist-types/ts3.4/commands/GetBucketMetadataTableConfigurationCommand.d.ts +51 -0
  63. package/dist-types/ts3.4/commands/PutBucketCorsCommand.d.ts +1 -1
  64. package/dist-types/ts3.4/commands/PutBucketEncryptionCommand.d.ts +1 -1
  65. package/dist-types/ts3.4/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +1 -1
  66. package/dist-types/ts3.4/commands/PutBucketInventoryConfigurationCommand.d.ts +1 -1
  67. package/dist-types/ts3.4/commands/PutBucketLifecycleConfigurationCommand.d.ts +1 -1
  68. package/dist-types/ts3.4/commands/PutBucketLoggingCommand.d.ts +1 -1
  69. package/dist-types/ts3.4/commands/PutBucketMetricsConfigurationCommand.d.ts +1 -1
  70. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  71. package/dist-types/ts3.4/models/models_0.d.ts +49 -66
  72. package/dist-types/ts3.4/models/models_1.d.ts +74 -0
  73. package/dist-types/ts3.4/protocols/Aws_restXml.d.ts +36 -0
  74. package/package.json +1 -1
@@ -1,7 +1,350 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
2
  import { StreamingBlobTypes } from "@smithy/types";
3
- import { AccessControlPolicy, BucketVersioningStatus, ChecksumAlgorithm, ErrorDocument, Grant, IndexDocument, NotificationConfiguration, ObjectCannedACL, ObjectLockConfiguration, ObjectLockLegalHold, ObjectLockLegalHoldStatus, ObjectLockMode, ObjectLockRetention, OwnershipControls, Payer, PublicAccessBlockConfiguration, RedirectAllRequestsTo, ReplicationConfiguration, ReplicationStatus, RequestCharged, RequestPayer, RoutingRule, ServerSideEncryption, StorageClass, Tag } from "./models_0";
3
+ import { AccessControlPolicy, BucketVersioningStatus, ChecksumAlgorithm, CORSConfiguration, ErrorDocument, Grant, IndexDocument, IntelligentTieringConfiguration, InventoryConfiguration, LifecycleRule, LoggingEnabled, MetricsConfiguration, NotificationConfiguration, ObjectCannedACL, ObjectLockConfiguration, ObjectLockLegalHold, ObjectLockLegalHoldStatus, ObjectLockMode, ObjectLockRetention, OwnershipControls, Payer, PublicAccessBlockConfiguration, RedirectAllRequestsTo, ReplicationConfiguration, ReplicationStatus, RequestCharged, RequestPayer, RoutingRule, ServerSideEncryption, ServerSideEncryptionConfiguration, StorageClass, Tag, TransitionDefaultMinimumObjectSize } from "./models_0";
4
4
  import { S3ServiceException as __BaseException } from "./S3ServiceException";
5
+ /**
6
+ * @public
7
+ */
8
+ export interface PutBucketCorsRequest {
9
+ /**
10
+ * <p>Specifies the bucket impacted by the <code>cors</code>configuration.</p>
11
+ * <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.
12
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
13
+ * @public
14
+ */
15
+ Bucket: string | undefined;
16
+ /**
17
+ * <p>Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more
18
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling
19
+ * Cross-Origin Resource Sharing</a> in the
20
+ * <i>Amazon S3 User Guide</i>.</p>
21
+ * @public
22
+ */
23
+ CORSConfiguration: CORSConfiguration | undefined;
24
+ /**
25
+ * <p>The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message
26
+ * integrity check to verify that the request body was not corrupted in transit. For more
27
+ * information, go to <a href="http://www.ietf.org/rfc/rfc1864.txt">RFC
28
+ * 1864.</a>
29
+ * </p>
30
+ * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p>
31
+ * @public
32
+ */
33
+ ContentMD5?: string | undefined;
34
+ /**
35
+ * <p>Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any
36
+ * additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum</code> or
37
+ * <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. For more
38
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
39
+ * the <i>Amazon S3 User Guide</i>.</p>
40
+ * <p>If you provide an individual checksum, Amazon S3 ignores any provided
41
+ * <code>ChecksumAlgorithm</code> parameter.</p>
42
+ * @public
43
+ */
44
+ ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
45
+ /**
46
+ * <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>
47
+ * @public
48
+ */
49
+ ExpectedBucketOwner?: string | undefined;
50
+ }
51
+ /**
52
+ * @public
53
+ */
54
+ export interface PutBucketEncryptionRequest {
55
+ /**
56
+ * <p>Specifies default encryption for a bucket using server-side encryption with different
57
+ * key options.</p>
58
+ * <p>
59
+ * <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>
60
+ * </code>. Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format <code>
61
+ * <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code>
62
+ * <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>
63
+ * </p>
64
+ * <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.
65
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
66
+ * @public
67
+ */
68
+ Bucket: string | undefined;
69
+ /**
70
+ * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption
71
+ * configuration.</p>
72
+ * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p>
73
+ * <note>
74
+ * <p>This functionality is not supported for directory buckets.</p>
75
+ * </note>
76
+ * @public
77
+ */
78
+ ContentMD5?: string | undefined;
79
+ /**
80
+ * <p>Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any
81
+ * additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum</code> or
82
+ * <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. For more
83
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
84
+ * the <i>Amazon S3 User Guide</i>.</p>
85
+ * <p>If you provide an individual checksum, Amazon S3 ignores any provided
86
+ * <code>ChecksumAlgorithm</code> parameter.</p>
87
+ * <note>
88
+ * <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>
89
+ * </note>
90
+ * @public
91
+ */
92
+ ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
93
+ /**
94
+ * <p>Specifies the default server-side-encryption configuration.</p>
95
+ * @public
96
+ */
97
+ ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration | undefined;
98
+ /**
99
+ * <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>
100
+ * <note>
101
+ * <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
102
+ * <code>501 Not Implemented</code>.</p>
103
+ * </note>
104
+ * @public
105
+ */
106
+ ExpectedBucketOwner?: string | undefined;
107
+ }
108
+ /**
109
+ * @public
110
+ */
111
+ export interface PutBucketIntelligentTieringConfigurationRequest {
112
+ /**
113
+ * <p>The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.</p>
114
+ * <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.
115
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
116
+ * @public
117
+ */
118
+ Bucket: string | undefined;
119
+ /**
120
+ * <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p>
121
+ * @public
122
+ */
123
+ Id: string | undefined;
124
+ /**
125
+ * <p>Container for S3 Intelligent-Tiering configuration.</p>
126
+ * @public
127
+ */
128
+ IntelligentTieringConfiguration: IntelligentTieringConfiguration | undefined;
129
+ }
130
+ /**
131
+ * @public
132
+ */
133
+ export interface PutBucketInventoryConfigurationRequest {
134
+ /**
135
+ * <p>The name of the bucket where the inventory configuration will be stored.</p>
136
+ * <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.
137
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
138
+ * @public
139
+ */
140
+ Bucket: string | undefined;
141
+ /**
142
+ * <p>The ID used to identify the inventory configuration.</p>
143
+ * @public
144
+ */
145
+ Id: string | undefined;
146
+ /**
147
+ * <p>Specifies the inventory configuration.</p>
148
+ * @public
149
+ */
150
+ InventoryConfiguration: InventoryConfiguration | undefined;
151
+ /**
152
+ * <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>
153
+ * @public
154
+ */
155
+ ExpectedBucketOwner?: string | undefined;
156
+ }
157
+ /**
158
+ * @public
159
+ */
160
+ export interface PutBucketLifecycleConfigurationOutput {
161
+ /**
162
+ * <p>Indicates which default minimum object size behavior is applied to the lifecycle
163
+ * configuration.</p>
164
+ * <note>
165
+ * <p>This parameter applies to general purpose buckets only. It is not supported for
166
+ * directory bucket lifecycle configurations.</p>
167
+ * </note>
168
+ * <ul>
169
+ * <li>
170
+ * <p>
171
+ * <code>all_storage_classes_128K</code> - Objects smaller than 128 KB will not
172
+ * transition to any storage class by default. </p>
173
+ * </li>
174
+ * <li>
175
+ * <p>
176
+ * <code>varies_by_storage_class</code> - Objects smaller than 128 KB will
177
+ * transition to Glacier Flexible Retrieval or Glacier Deep Archive storage classes. By
178
+ * default, all other storage classes will prevent transitions smaller than 128 KB.
179
+ * </p>
180
+ * </li>
181
+ * </ul>
182
+ * <p>To customize the minimum object size for any transition you can add a filter that
183
+ * specifies a custom <code>ObjectSizeGreaterThan</code> or <code>ObjectSizeLessThan</code> in
184
+ * the body of your transition rule. Custom filters always take precedence over the default
185
+ * transition behavior.</p>
186
+ * @public
187
+ */
188
+ TransitionDefaultMinimumObjectSize?: TransitionDefaultMinimumObjectSize | undefined;
189
+ }
190
+ /**
191
+ * <p>Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more
192
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object Lifecycle Management</a>
193
+ * in the <i>Amazon S3 User Guide</i>.</p>
194
+ * @public
195
+ */
196
+ export interface BucketLifecycleConfiguration {
197
+ /**
198
+ * <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p>
199
+ * @public
200
+ */
201
+ Rules: LifecycleRule[] | undefined;
202
+ }
203
+ /**
204
+ * @public
205
+ */
206
+ export interface PutBucketLifecycleConfigurationRequest {
207
+ /**
208
+ * <p>The name of the bucket for which to set the configuration.</p>
209
+ * <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.
210
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
211
+ * @public
212
+ */
213
+ Bucket: string | undefined;
214
+ /**
215
+ * <p>Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any
216
+ * additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum</code> or
217
+ * <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. For more
218
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
219
+ * the <i>Amazon S3 User Guide</i>.</p>
220
+ * <p>If you provide an individual checksum, Amazon S3 ignores any provided
221
+ * <code>ChecksumAlgorithm</code> parameter.</p>
222
+ * @public
223
+ */
224
+ ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
225
+ /**
226
+ * <p>Container for lifecycle rules. You can add as many as 1,000 rules.</p>
227
+ * @public
228
+ */
229
+ LifecycleConfiguration?: BucketLifecycleConfiguration | undefined;
230
+ /**
231
+ * <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>
232
+ * <note>
233
+ * <p>This parameter applies to general purpose buckets only. It is not supported for
234
+ * directory bucket lifecycle configurations.</p>
235
+ * </note>
236
+ * @public
237
+ */
238
+ ExpectedBucketOwner?: string | undefined;
239
+ /**
240
+ * <p>Indicates which default minimum object size behavior is applied to the lifecycle
241
+ * configuration.</p>
242
+ * <note>
243
+ * <p>This parameter applies to general purpose buckets only. It is not supported for
244
+ * directory bucket lifecycle configurations.</p>
245
+ * </note>
246
+ * <ul>
247
+ * <li>
248
+ * <p>
249
+ * <code>all_storage_classes_128K</code> - Objects smaller than 128 KB will not
250
+ * transition to any storage class by default. </p>
251
+ * </li>
252
+ * <li>
253
+ * <p>
254
+ * <code>varies_by_storage_class</code> - Objects smaller than 128 KB will
255
+ * transition to Glacier Flexible Retrieval or Glacier Deep Archive storage classes. By
256
+ * default, all other storage classes will prevent transitions smaller than 128 KB.
257
+ * </p>
258
+ * </li>
259
+ * </ul>
260
+ * <p>To customize the minimum object size for any transition you can add a filter that
261
+ * specifies a custom <code>ObjectSizeGreaterThan</code> or <code>ObjectSizeLessThan</code> in
262
+ * the body of your transition rule. Custom filters always take precedence over the default
263
+ * transition behavior.</p>
264
+ * @public
265
+ */
266
+ TransitionDefaultMinimumObjectSize?: TransitionDefaultMinimumObjectSize | undefined;
267
+ }
268
+ /**
269
+ * <p>Container for logging status information.</p>
270
+ * @public
271
+ */
272
+ export interface BucketLoggingStatus {
273
+ /**
274
+ * <p>Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys
275
+ * for a bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html">PUT Bucket logging</a> in the
276
+ * <i>Amazon S3 API Reference</i>.</p>
277
+ * @public
278
+ */
279
+ LoggingEnabled?: LoggingEnabled | undefined;
280
+ }
281
+ /**
282
+ * @public
283
+ */
284
+ export interface PutBucketLoggingRequest {
285
+ /**
286
+ * <p>The name of the bucket for which to set the logging parameters.</p>
287
+ * <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.
288
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
289
+ * @public
290
+ */
291
+ Bucket: string | undefined;
292
+ /**
293
+ * <p>Container for logging status information.</p>
294
+ * @public
295
+ */
296
+ BucketLoggingStatus: BucketLoggingStatus | undefined;
297
+ /**
298
+ * <p>The MD5 hash of the <code>PutBucketLogging</code> request body.</p>
299
+ * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p>
300
+ * @public
301
+ */
302
+ ContentMD5?: string | undefined;
303
+ /**
304
+ * <p>Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any
305
+ * additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum</code> or
306
+ * <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. For more
307
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
308
+ * the <i>Amazon S3 User Guide</i>.</p>
309
+ * <p>If you provide an individual checksum, Amazon S3 ignores any provided
310
+ * <code>ChecksumAlgorithm</code> parameter.</p>
311
+ * @public
312
+ */
313
+ ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
314
+ /**
315
+ * <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>
316
+ * @public
317
+ */
318
+ ExpectedBucketOwner?: string | undefined;
319
+ }
320
+ /**
321
+ * @public
322
+ */
323
+ export interface PutBucketMetricsConfigurationRequest {
324
+ /**
325
+ * <p>The name of the bucket for which the metrics configuration is set.</p>
326
+ * <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.
327
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
328
+ * @public
329
+ */
330
+ Bucket: string | undefined;
331
+ /**
332
+ * <p>The ID used to identify the metrics configuration. The ID has a 64 character limit and
333
+ * can only contain letters, numbers, periods, dashes, and underscores.</p>
334
+ * @public
335
+ */
336
+ Id: string | undefined;
337
+ /**
338
+ * <p>Specifies the metrics configuration.</p>
339
+ * @public
340
+ */
341
+ MetricsConfiguration: MetricsConfiguration | undefined;
342
+ /**
343
+ * <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>
344
+ * @public
345
+ */
346
+ ExpectedBucketOwner?: string | undefined;
347
+ }
5
348
  /**
6
349
  * @public
7
350
  */
@@ -67,9 +410,9 @@ export interface PutBucketPolicyRequest {
67
410
  /**
68
411
  * <p>The name of the bucket.</p>
69
412
  * <p>
70
- * <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>
71
- * </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>
72
- * <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for example, <code>
413
+ * <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>
414
+ * </code>. Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must also follow the format <code>
415
+ * <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code>
73
416
  * <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>
74
417
  * </p>
75
418
  * <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.
@@ -519,7 +862,7 @@ export interface PutObjectOutput {
519
862
  * <code>rule-id</code> key-value pairs that provide information about object expiration.
520
863
  * The value of the <code>rule-id</code> is URL-encoded.</p>
521
864
  * <note>
522
- * <p>This functionality is not supported for directory buckets.</p>
865
+ * <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
523
866
  * </note>
524
867
  * @public
525
868
  */
@@ -693,8 +1036,8 @@ export interface PutObjectRequest {
693
1036
  * <p>
694
1037
  * <b>Directory buckets</b> -
695
1038
  * When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code>
696
- * <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format <code>
697
- * <i>bucket_base_name</i>--<i>az-id</i>--x-s3</code> (for example, <code>
1039
+ * <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code>
1040
+ * <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code>
698
1041
  * <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming
699
1042
  * restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming
700
1043
  * rules</a> in the <i>Amazon S3 User Guide</i>.</p>
@@ -2081,7 +2424,13 @@ export interface OutputSerialization {
2081
2424
  JSON?: JSONOutput | undefined;
2082
2425
  }
2083
2426
  /**
2084
- * <p>Describes the parameters for Select job types.</p>
2427
+ * <important>
2428
+ * <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a>
2429
+ * </p>
2430
+ * </important>
2431
+ * <p>Describes the parameters for Select job types.</p>
2432
+ * <p>Learn <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">How to optimize querying your data in Amazon S3</a> using
2433
+ * <a href="https://docs.aws.amazon.com/athena/latest/ug/what-is.html">Amazon Athena</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html">S3 Object Lambda</a>, or client-side filtering.</p>
2085
2434
  * @public
2086
2435
  */
2087
2436
  export interface SelectParameters {
@@ -2096,7 +2445,11 @@ export interface SelectParameters {
2096
2445
  */
2097
2446
  ExpressionType: ExpressionType | undefined;
2098
2447
  /**
2099
- * <p>The expression that is used to query the object.</p>
2448
+ * <important>
2449
+ * <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a>
2450
+ * </p>
2451
+ * </important>
2452
+ * <p>The expression that is used to query the object.</p>
2100
2453
  * @public
2101
2454
  */
2102
2455
  Expression: string | undefined;
@@ -2137,7 +2490,11 @@ export interface RestoreRequest {
2137
2490
  */
2138
2491
  GlacierJobParameters?: GlacierJobParameters | undefined;
2139
2492
  /**
2140
- * <p>Type of restore request.</p>
2493
+ * <important>
2494
+ * <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a>
2495
+ * </p>
2496
+ * </important>
2497
+ * <p>Type of restore request.</p>
2141
2498
  * @public
2142
2499
  */
2143
2500
  Type?: RestoreRequestType | undefined;
@@ -2152,7 +2509,11 @@ export interface RestoreRequest {
2152
2509
  */
2153
2510
  Description?: string | undefined;
2154
2511
  /**
2155
- * <p>Describes the parameters for Select job types.</p>
2512
+ * <important>
2513
+ * <p>Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a>
2514
+ * </p>
2515
+ * </important>
2516
+ * <p>Describes the parameters for Select job types.</p>
2156
2517
  * @public
2157
2518
  */
2158
2519
  SelectParameters?: SelectParameters | undefined;
@@ -2459,7 +2820,11 @@ export interface ScanRange {
2459
2820
  End?: number | undefined;
2460
2821
  }
2461
2822
  /**
2462
- * <p>Request to filter the contents of an Amazon S3 object based on a simple Structured Query
2823
+ * <note>
2824
+ * <p>Learn Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a>
2825
+ * </p>
2826
+ * </note>
2827
+ * <p>Request to filter the contents of an Amazon S3 object based on a simple Structured Query
2463
2828
  * Language (SQL) statement. In the request, along with the SQL expression, you must specify a
2464
2829
  * data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data
2465
2830
  * into records. It returns only records that match the specified SQL expression. You must
@@ -2664,8 +3029,8 @@ export interface UploadPartRequest {
2664
3029
  * <p>
2665
3030
  * <b>Directory buckets</b> -
2666
3031
  * When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code>
2667
- * <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format <code>
2668
- * <i>bucket_base_name</i>--<i>az-id</i>--x-s3</code> (for example, <code>
3032
+ * <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code>
3033
+ * <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code>
2669
3034
  * <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming
2670
3035
  * restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming
2671
3036
  * rules</a> in the <i>Amazon S3 User Guide</i>.</p>
@@ -2927,13 +3292,16 @@ export interface UploadPartCopyRequest {
2927
3292
  /**
2928
3293
  * <p>The bucket name.</p>
2929
3294
  * <p>
2930
- * <b>Directory buckets</b> -
2931
- * When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code>
2932
- * <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format <code>
2933
- * <i>bucket_base_name</i>--<i>az-id</i>--x-s3</code> (for example, <code>
3295
+ * <b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code>
3296
+ * <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code>
3297
+ * <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code>
2934
3298
  * <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming
2935
3299
  * restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming
2936
3300
  * rules</a> in the <i>Amazon S3 User Guide</i>.</p>
3301
+ * <note>
3302
+ * <p>Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web Services Region. Otherwise,
3303
+ * you get an HTTP <code>400 Bad Request</code> error with the error code <code>InvalidRequest</code>.</p>
3304
+ * </note>
2937
3305
  * <p>
2938
3306
  * <b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
2939
3307
  * <note>
@@ -3510,6 +3878,14 @@ export interface WriteGetObjectResponseRequest {
3510
3878
  */
3511
3879
  BucketKeyEnabled?: boolean | undefined;
3512
3880
  }
3881
+ /**
3882
+ * @internal
3883
+ */
3884
+ export declare const PutBucketEncryptionRequestFilterSensitiveLog: (obj: PutBucketEncryptionRequest) => any;
3885
+ /**
3886
+ * @internal
3887
+ */
3888
+ export declare const PutBucketInventoryConfigurationRequestFilterSensitiveLog: (obj: PutBucketInventoryConfigurationRequest) => any;
3513
3889
  /**
3514
3890
  * @internal
3515
3891
  */
@@ -4,6 +4,7 @@ import { AbortMultipartUploadCommandInput, AbortMultipartUploadCommandOutput } f
4
4
  import { CompleteMultipartUploadCommandInput, CompleteMultipartUploadCommandOutput } from "../commands/CompleteMultipartUploadCommand";
5
5
  import { CopyObjectCommandInput, CopyObjectCommandOutput } from "../commands/CopyObjectCommand";
6
6
  import { CreateBucketCommandInput, CreateBucketCommandOutput } from "../commands/CreateBucketCommand";
7
+ import { CreateBucketMetadataTableConfigurationCommandInput, CreateBucketMetadataTableConfigurationCommandOutput } from "../commands/CreateBucketMetadataTableConfigurationCommand";
7
8
  import { CreateMultipartUploadCommandInput, CreateMultipartUploadCommandOutput } from "../commands/CreateMultipartUploadCommand";
8
9
  import { CreateSessionCommandInput, CreateSessionCommandOutput } from "../commands/CreateSessionCommand";
9
10
  import { DeleteBucketAnalyticsConfigurationCommandInput, DeleteBucketAnalyticsConfigurationCommandOutput } from "../commands/DeleteBucketAnalyticsConfigurationCommand";
@@ -13,6 +14,7 @@ import { DeleteBucketEncryptionCommandInput, DeleteBucketEncryptionCommandOutput
13
14
  import { DeleteBucketIntelligentTieringConfigurationCommandInput, DeleteBucketIntelligentTieringConfigurationCommandOutput } from "../commands/DeleteBucketIntelligentTieringConfigurationCommand";
14
15
  import { DeleteBucketInventoryConfigurationCommandInput, DeleteBucketInventoryConfigurationCommandOutput } from "../commands/DeleteBucketInventoryConfigurationCommand";
15
16
  import { DeleteBucketLifecycleCommandInput, DeleteBucketLifecycleCommandOutput } from "../commands/DeleteBucketLifecycleCommand";
17
+ import { DeleteBucketMetadataTableConfigurationCommandInput, DeleteBucketMetadataTableConfigurationCommandOutput } from "../commands/DeleteBucketMetadataTableConfigurationCommand";
16
18
  import { DeleteBucketMetricsConfigurationCommandInput, DeleteBucketMetricsConfigurationCommandOutput } from "../commands/DeleteBucketMetricsConfigurationCommand";
17
19
  import { DeleteBucketOwnershipControlsCommandInput, DeleteBucketOwnershipControlsCommandOutput } from "../commands/DeleteBucketOwnershipControlsCommand";
18
20
  import { DeleteBucketPolicyCommandInput, DeleteBucketPolicyCommandOutput } from "../commands/DeleteBucketPolicyCommand";
@@ -33,6 +35,7 @@ import { GetBucketInventoryConfigurationCommandInput, GetBucketInventoryConfigur
33
35
  import { GetBucketLifecycleConfigurationCommandInput, GetBucketLifecycleConfigurationCommandOutput } from "../commands/GetBucketLifecycleConfigurationCommand";
34
36
  import { GetBucketLocationCommandInput, GetBucketLocationCommandOutput } from "../commands/GetBucketLocationCommand";
35
37
  import { GetBucketLoggingCommandInput, GetBucketLoggingCommandOutput } from "../commands/GetBucketLoggingCommand";
38
+ import { GetBucketMetadataTableConfigurationCommandInput, GetBucketMetadataTableConfigurationCommandOutput } from "../commands/GetBucketMetadataTableConfigurationCommand";
36
39
  import { GetBucketMetricsConfigurationCommandInput, GetBucketMetricsConfigurationCommandOutput } from "../commands/GetBucketMetricsConfigurationCommand";
37
40
  import { GetBucketNotificationConfigurationCommandInput, GetBucketNotificationConfigurationCommandOutput } from "../commands/GetBucketNotificationConfigurationCommand";
38
41
  import { GetBucketOwnershipControlsCommandInput, GetBucketOwnershipControlsCommandOutput } from "../commands/GetBucketOwnershipControlsCommand";
@@ -111,6 +114,10 @@ export declare const se_CopyObjectCommand: (input: CopyObjectCommandInput, conte
111
114
  * serializeAws_restXmlCreateBucketCommand
112
115
  */
113
116
  export declare const se_CreateBucketCommand: (input: CreateBucketCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
117
+ /**
118
+ * serializeAws_restXmlCreateBucketMetadataTableConfigurationCommand
119
+ */
120
+ export declare const se_CreateBucketMetadataTableConfigurationCommand: (input: CreateBucketMetadataTableConfigurationCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
114
121
  /**
115
122
  * serializeAws_restXmlCreateMultipartUploadCommand
116
123
  */
@@ -147,6 +154,10 @@ export declare const se_DeleteBucketInventoryConfigurationCommand: (input: Delet
147
154
  * serializeAws_restXmlDeleteBucketLifecycleCommand
148
155
  */
149
156
  export declare const se_DeleteBucketLifecycleCommand: (input: DeleteBucketLifecycleCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
157
+ /**
158
+ * serializeAws_restXmlDeleteBucketMetadataTableConfigurationCommand
159
+ */
160
+ export declare const se_DeleteBucketMetadataTableConfigurationCommand: (input: DeleteBucketMetadataTableConfigurationCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
150
161
  /**
151
162
  * serializeAws_restXmlDeleteBucketMetricsConfigurationCommand
152
163
  */
@@ -227,6 +238,10 @@ export declare const se_GetBucketLocationCommand: (input: GetBucketLocationComma
227
238
  * serializeAws_restXmlGetBucketLoggingCommand
228
239
  */
229
240
  export declare const se_GetBucketLoggingCommand: (input: GetBucketLoggingCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
241
+ /**
242
+ * serializeAws_restXmlGetBucketMetadataTableConfigurationCommand
243
+ */
244
+ export declare const se_GetBucketMetadataTableConfigurationCommand: (input: GetBucketMetadataTableConfigurationCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
230
245
  /**
231
246
  * serializeAws_restXmlGetBucketMetricsConfigurationCommand
232
247
  */
@@ -491,6 +506,10 @@ export declare const de_CopyObjectCommand: (output: __HttpResponse, context: __S
491
506
  * deserializeAws_restXmlCreateBucketCommand
492
507
  */
493
508
  export declare const de_CreateBucketCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<CreateBucketCommandOutput>;
509
+ /**
510
+ * deserializeAws_restXmlCreateBucketMetadataTableConfigurationCommand
511
+ */
512
+ export declare const de_CreateBucketMetadataTableConfigurationCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<CreateBucketMetadataTableConfigurationCommandOutput>;
494
513
  /**
495
514
  * deserializeAws_restXmlCreateMultipartUploadCommand
496
515
  */
@@ -527,6 +546,10 @@ export declare const de_DeleteBucketInventoryConfigurationCommand: (output: __Ht
527
546
  * deserializeAws_restXmlDeleteBucketLifecycleCommand
528
547
  */
529
548
  export declare const de_DeleteBucketLifecycleCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<DeleteBucketLifecycleCommandOutput>;
549
+ /**
550
+ * deserializeAws_restXmlDeleteBucketMetadataTableConfigurationCommand
551
+ */
552
+ export declare const de_DeleteBucketMetadataTableConfigurationCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<DeleteBucketMetadataTableConfigurationCommandOutput>;
530
553
  /**
531
554
  * deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand
532
555
  */
@@ -607,6 +630,10 @@ export declare const de_GetBucketLocationCommand: (output: __HttpResponse, conte
607
630
  * deserializeAws_restXmlGetBucketLoggingCommand
608
631
  */
609
632
  export declare const de_GetBucketLoggingCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetBucketLoggingCommandOutput>;
633
+ /**
634
+ * deserializeAws_restXmlGetBucketMetadataTableConfigurationCommand
635
+ */
636
+ export declare const de_GetBucketMetadataTableConfigurationCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetBucketMetadataTableConfigurationCommandOutput>;
610
637
  /**
611
638
  * deserializeAws_restXmlGetBucketMetricsConfigurationCommand
612
639
  */