@mavogel/awscdk-rootmail 0.0.129 → 0.0.131

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 (57) hide show
  1. package/.jsii +8 -8
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +10 -10
  5. package/node_modules/@aws-sdk/client-route-53/package.json +10 -10
  6. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +2 -0
  7. package/node_modules/@aws-sdk/client-s3/dist-es/protocols/Aws_restXml.js +2 -0
  8. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CompleteMultipartUploadCommand.d.ts +12 -3
  9. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateMultipartUploadCommand.d.ts +14 -11
  10. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectCommand.d.ts +10 -10
  11. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectTaggingCommand.d.ts +11 -11
  12. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +19 -19
  13. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +51 -50
  14. package/node_modules/@aws-sdk/client-s3/dist-types/commands/RestoreObjectCommand.d.ts +4 -0
  15. package/node_modules/@aws-sdk/client-s3/dist-types/commands/SelectObjectContentCommand.d.ts +4 -0
  16. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCommand.d.ts +15 -3
  17. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +30 -9
  18. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts +16 -3
  19. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_1.d.ts +35 -5
  20. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_0.d.ts +1 -0
  21. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_1.d.ts +1 -0
  22. package/node_modules/@aws-sdk/client-s3/package.json +13 -13
  23. package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +7 -0
  24. package/node_modules/@aws-sdk/client-ses/dist-es/protocols/Aws_query.js +7 -0
  25. package/node_modules/@aws-sdk/client-ses/dist-types/commands/CreateReceiptRuleCommand.d.ts +1 -0
  26. package/node_modules/@aws-sdk/client-ses/dist-types/commands/DescribeActiveReceiptRuleSetCommand.d.ts +1 -0
  27. package/node_modules/@aws-sdk/client-ses/dist-types/commands/DescribeReceiptRuleCommand.d.ts +1 -0
  28. package/node_modules/@aws-sdk/client-ses/dist-types/commands/DescribeReceiptRuleSetCommand.d.ts +1 -0
  29. package/node_modules/@aws-sdk/client-ses/dist-types/commands/SendBulkTemplatedEmailCommand.d.ts +1 -1
  30. package/node_modules/@aws-sdk/client-ses/dist-types/commands/UpdateReceiptRuleCommand.d.ts +1 -0
  31. package/node_modules/@aws-sdk/client-ses/dist-types/models/models_0.d.ts +40 -10
  32. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/models/models_0.d.ts +2 -1
  33. package/node_modules/@aws-sdk/client-ses/package.json +10 -10
  34. package/node_modules/@aws-sdk/client-ssm/package.json +10 -10
  35. package/node_modules/@aws-sdk/client-sso/package.json +7 -7
  36. package/node_modules/@aws-sdk/client-sso-oidc/package.json +9 -9
  37. package/node_modules/@aws-sdk/client-sts/package.json +9 -9
  38. package/node_modules/@aws-sdk/core/package.json +3 -3
  39. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  40. package/node_modules/@aws-sdk/credential-provider-ini/package.json +4 -4
  41. package/node_modules/@aws-sdk/credential-provider-node/package.json +4 -4
  42. package/node_modules/@aws-sdk/credential-provider-sso/package.json +2 -2
  43. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +4 -4
  44. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
  45. package/node_modules/cdk-nag/.jsii +2 -2
  46. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  47. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  48. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  49. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  50. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  51. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  52. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  53. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  54. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  55. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  56. package/node_modules/cdk-nag/package.json +1 -1
  57. package/package.json +8 -8
@@ -179,6 +179,7 @@ declare const PutObjectCommand_base: {
179
179
  * ChecksumSHA1: "STRING_VALUE",
180
180
  * ChecksumSHA256: "STRING_VALUE",
181
181
  * Expires: new Date("TIMESTAMP"),
182
+ * IfNoneMatch: "STRING_VALUE",
182
183
  * GrantFullControl: "STRING_VALUE",
183
184
  * GrantRead: "STRING_VALUE",
184
185
  * GrantReadACP: "STRING_VALUE",
@@ -234,34 +235,34 @@ declare const PutObjectCommand_base: {
234
235
  * <p>Base exception class for all service exceptions from S3 service.</p>
235
236
  *
236
237
  * @public
237
- * @example To upload an object
238
+ * @example To create an object.
238
239
  * ```javascript
239
- * // The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.
240
+ * // The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
240
241
  * const input = {
241
- * "Body": "HappyFace.jpg",
242
+ * "Body": "filetoupload",
242
243
  * "Bucket": "examplebucket",
243
- * "Key": "HappyFace.jpg"
244
+ * "Key": "objectkey"
244
245
  * };
245
246
  * const command = new PutObjectCommand(input);
246
247
  * const response = await client.send(command);
247
248
  * /* response ==
248
249
  * {
249
250
  * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
250
- * "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk"
251
+ * "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ"
251
252
  * }
252
253
  * *\/
253
- * // example id: to-upload-an-object-1481760101010
254
+ * // example id: to-create-an-object-1483147613675
254
255
  * ```
255
256
  *
256
- * @example To upload an object and specify server-side encryption and object tags
257
+ * @example To upload an object (specify optional headers)
257
258
  * ```javascript
258
- * // The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
259
+ * // The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.
259
260
  * const input = {
260
- * "Body": "filetoupload",
261
+ * "Body": "HappyFace.jpg",
261
262
  * "Bucket": "examplebucket",
262
- * "Key": "exampleobject",
263
+ * "Key": "HappyFace.jpg",
263
264
  * "ServerSideEncryption": "AES256",
264
- * "Tagging": "key1=value1&key2=value2"
265
+ * "StorageClass": "STANDARD_IA"
265
266
  * };
266
267
  * const command = new PutObjectCommand(input);
267
268
  * const response = await client.send(command);
@@ -269,114 +270,114 @@ declare const PutObjectCommand_base: {
269
270
  * {
270
271
  * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
271
272
  * "ServerSideEncryption": "AES256",
272
- * "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt"
273
+ * "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp"
273
274
  * }
274
275
  * *\/
275
- * // example id: to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831
276
+ * // example id: to-upload-an-object-(specify-optional-headers)
276
277
  * ```
277
278
  *
278
- * @example To upload an object (specify optional headers)
279
+ * @example To upload an object and specify canned ACL.
279
280
  * ```javascript
280
- * // The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.
281
+ * // The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
281
282
  * const input = {
282
- * "Body": "HappyFace.jpg",
283
+ * "ACL": "authenticated-read",
284
+ * "Body": "filetoupload",
283
285
  * "Bucket": "examplebucket",
284
- * "Key": "HappyFace.jpg",
285
- * "ServerSideEncryption": "AES256",
286
- * "StorageClass": "STANDARD_IA"
286
+ * "Key": "exampleobject"
287
287
  * };
288
288
  * const command = new PutObjectCommand(input);
289
289
  * const response = await client.send(command);
290
290
  * /* response ==
291
291
  * {
292
292
  * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
293
- * "ServerSideEncryption": "AES256",
294
- * "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp"
293
+ * "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr"
295
294
  * }
296
295
  * *\/
297
- * // example id: to-upload-an-object-(specify-optional-headers)
296
+ * // example id: to-upload-an-object-and-specify-canned-acl-1483397779571
298
297
  * ```
299
298
  *
300
- * @example To upload object and specify user-defined metadata
299
+ * @example To upload an object and specify server-side encryption and object tags
301
300
  * ```javascript
302
- * // The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.
301
+ * // The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
303
302
  * const input = {
304
303
  * "Body": "filetoupload",
305
304
  * "Bucket": "examplebucket",
306
305
  * "Key": "exampleobject",
307
- * "Metadata": {
308
- * "metadata1": "value1",
309
- * "metadata2": "value2"
310
- * }
306
+ * "ServerSideEncryption": "AES256",
307
+ * "Tagging": "key1=value1&key2=value2"
311
308
  * };
312
309
  * const command = new PutObjectCommand(input);
313
310
  * const response = await client.send(command);
314
311
  * /* response ==
315
312
  * {
316
313
  * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
317
- * "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0"
314
+ * "ServerSideEncryption": "AES256",
315
+ * "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt"
318
316
  * }
319
317
  * *\/
320
- * // example id: to-upload-object-and-specify-user-defined-metadata-1483396974757
318
+ * // example id: to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831
321
319
  * ```
322
320
  *
323
- * @example To upload an object and specify optional tags
321
+ * @example To upload object and specify user-defined metadata
324
322
  * ```javascript
325
- * // The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.
323
+ * // The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.
326
324
  * const input = {
327
- * "Body": "c:\\HappyFace.jpg",
325
+ * "Body": "filetoupload",
328
326
  * "Bucket": "examplebucket",
329
- * "Key": "HappyFace.jpg",
330
- * "Tagging": "key1=value1&key2=value2"
327
+ * "Key": "exampleobject",
328
+ * "Metadata": {
329
+ * "metadata1": "value1",
330
+ * "metadata2": "value2"
331
+ * }
331
332
  * };
332
333
  * const command = new PutObjectCommand(input);
333
334
  * const response = await client.send(command);
334
335
  * /* response ==
335
336
  * {
336
337
  * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
337
- * "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a"
338
+ * "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0"
338
339
  * }
339
340
  * *\/
340
- * // example id: to-upload-an-object-and-specify-optional-tags-1481762310955
341
+ * // example id: to-upload-object-and-specify-user-defined-metadata-1483396974757
341
342
  * ```
342
343
  *
343
- * @example To upload an object and specify canned ACL.
344
+ * @example To upload an object
344
345
  * ```javascript
345
- * // The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
346
+ * // The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.
346
347
  * const input = {
347
- * "ACL": "authenticated-read",
348
- * "Body": "filetoupload",
348
+ * "Body": "HappyFace.jpg",
349
349
  * "Bucket": "examplebucket",
350
- * "Key": "exampleobject"
350
+ * "Key": "HappyFace.jpg"
351
351
  * };
352
352
  * const command = new PutObjectCommand(input);
353
353
  * const response = await client.send(command);
354
354
  * /* response ==
355
355
  * {
356
356
  * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
357
- * "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr"
357
+ * "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk"
358
358
  * }
359
359
  * *\/
360
- * // example id: to-upload-an-object-and-specify-canned-acl-1483397779571
360
+ * // example id: to-upload-an-object-1481760101010
361
361
  * ```
362
362
  *
363
- * @example To create an object.
363
+ * @example To upload an object and specify optional tags
364
364
  * ```javascript
365
- * // The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
365
+ * // The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.
366
366
  * const input = {
367
- * "Body": "filetoupload",
367
+ * "Body": "c:\\HappyFace.jpg",
368
368
  * "Bucket": "examplebucket",
369
- * "Key": "objectkey"
369
+ * "Key": "HappyFace.jpg",
370
+ * "Tagging": "key1=value1&key2=value2"
370
371
  * };
371
372
  * const command = new PutObjectCommand(input);
372
373
  * const response = await client.send(command);
373
374
  * /* response ==
374
375
  * {
375
376
  * "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"",
376
- * "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ"
377
+ * "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a"
377
378
  * }
378
379
  * *\/
379
- * // example id: to-create-an-object-1483147613675
380
+ * // example id: to-upload-an-object-and-specify-optional-tags-1481762310955
380
381
  * ```
381
382
  *
382
383
  */
@@ -30,6 +30,10 @@ declare const RestoreObjectCommand_base: {
30
30
  * <note>
31
31
  * <p>This operation is not supported by directory buckets.</p>
32
32
  * </note>
33
+ * <important>
34
+ * <p>The <code>SELECT</code> job type for the RestoreObject operation 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>
35
+ * </p>
36
+ * </important>
33
37
  * <p>Restores an archived copy of an object back into Amazon S3</p>
34
38
  * <p>This functionality is not supported for Amazon S3 on Outposts.</p>
35
39
  * <p>This action performs the following types of requests: </p>
@@ -30,6 +30,10 @@ declare const SelectObjectContentCommand_base: {
30
30
  * <note>
31
31
  * <p>This operation is not supported by directory buckets.</p>
32
32
  * </note>
33
+ * <important>
34
+ * <p>The SelectObjectContent operation is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the operation as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a>
35
+ * </p>
36
+ * </important>
33
37
  * <p>This action filters the contents of an Amazon S3 object based on a simple structured query
34
38
  * language (SQL) statement. In the request, along with the SQL expression, you must also
35
39
  * specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses
@@ -65,9 +65,21 @@ declare const UploadPartCommand_base: {
65
65
  * <ul>
66
66
  * <li>
67
67
  * <p>
68
- * <b>General purpose bucket permissions</b> - For information on the permissions required to use the multipart upload API, see
69
- * <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
70
- * Upload and Permissions</a> in the <i>Amazon S3 User Guide</i>.</p>
68
+ * <b>General purpose bucket permissions</b> - To
69
+ * perform a multipart upload with encryption using an Key Management Service key, the
70
+ * requester must have permission to the <code>kms:Decrypt</code> and
71
+ * <code>kms:GenerateDataKey</code> actions on the key. The requester must
72
+ * also have permissions for the <code>kms:GenerateDataKey</code> action for
73
+ * the <code>CreateMultipartUpload</code> API. Then, the requester needs
74
+ * permissions for the <code>kms:Decrypt</code> action on the
75
+ * <code>UploadPart</code> and <code>UploadPartCopy</code> APIs.</p>
76
+ * <p>These permissions are required because Amazon S3 must decrypt and read data
77
+ * from the encrypted file parts before it completes the multipart upload. For
78
+ * more information about KMS permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html">Protecting data
79
+ * using server-side encryption with KMS</a> in the
80
+ * <i>Amazon S3 User Guide</i>. For information about the
81
+ * permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart upload and permissions</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions">Multipart upload API and permissions</a> in the
82
+ * <i>Amazon S3 User Guide</i>.</p>
71
83
  * </li>
72
84
  * <li>
73
85
  * <p>
@@ -68,23 +68,44 @@ declare const UploadPartCopyCommand_base: {
68
68
  * <ul>
69
69
  * <li>
70
70
  * <p>
71
- * <b>General purpose bucket permissions</b> - You must have the permissions in a policy based on the bucket types of your source bucket and destination bucket in an <code>UploadPartCopy</code> operation.</p>
71
+ * <b>General purpose bucket permissions</b> - You
72
+ * must have the permissions in a policy based on the bucket types of your
73
+ * source bucket and destination bucket in an <code>UploadPartCopy</code>
74
+ * operation.</p>
72
75
  * <ul>
73
76
  * <li>
74
- * <p>If the source object is in a general purpose bucket, you must have the <b>
77
+ * <p>If the source object is in a general purpose bucket, you must have the
78
+ * <b>
75
79
  * <code>s3:GetObject</code>
76
- * </b> permission to read the source object that is being copied. </p>
80
+ * </b>
81
+ * permission to read the source object that is being copied. </p>
77
82
  * </li>
78
83
  * <li>
79
- * <p>If the destination bucket is a general purpose bucket, you must have the <b>
84
+ * <p>If the destination bucket is a general purpose bucket, you must have the
85
+ * <b>
80
86
  * <code>s3:PutObject</code>
81
- * </b> permission to write the object copy to the destination bucket.
82
- * </p>
87
+ * </b>
88
+ * permission to write the object copy to the destination bucket. </p>
89
+ * </li>
90
+ * <li>
91
+ * <p>To perform a multipart upload with encryption using an Key Management Service
92
+ * key, the requester must have permission to the
93
+ * <code>kms:Decrypt</code> and <code>kms:GenerateDataKey</code>
94
+ * actions on the key. The requester must also have permissions for the
95
+ * <code>kms:GenerateDataKey</code> action for the
96
+ * <code>CreateMultipartUpload</code> API. Then, the requester needs
97
+ * permissions for the <code>kms:Decrypt</code> action on the
98
+ * <code>UploadPart</code> and <code>UploadPartCopy</code> APIs. These
99
+ * permissions are required because Amazon S3 must decrypt and read data from
100
+ * the encrypted file parts before it completes the multipart upload. For
101
+ * more information about KMS permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html">Protecting
102
+ * data using server-side encryption with KMS</a> in the
103
+ * <i>Amazon S3 User Guide</i>. For information about the
104
+ * permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart upload
105
+ * and permissions</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions">Multipart upload API and permissions</a> in the
106
+ * <i>Amazon S3 User Guide</i>.</p>
83
107
  * </li>
84
108
  * </ul>
85
- * <p>For information about permissions required to use the multipart upload API, see
86
- * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions">Multipart upload API and permissions</a> in the
87
- * <i>Amazon S3 User Guide</i>.</p>
88
109
  * </li>
89
110
  * <li>
90
111
  * <p>
@@ -637,6 +637,14 @@ export interface CompleteMultipartUploadRequest {
637
637
  * @public
638
638
  */
639
639
  ExpectedBucketOwner?: string;
640
+ /**
641
+ * <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
642
+ * <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
643
+ * <p>Expects the '*' (asterisk) character.</p>
644
+ * <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
645
+ * @public
646
+ */
647
+ IfNoneMatch?: string;
640
648
  /**
641
649
  * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is
642
650
  * required only when the object was created using a checksum algorithm or if
@@ -8758,6 +8766,10 @@ export interface GetObjectRequest {
8758
8766
  ExpectedBucketOwner?: string;
8759
8767
  /**
8760
8768
  * <p>To retrieve the checksum, this mode must be enabled.</p>
8769
+ * <p>In addition, if you enable checksum mode and the object is uploaded with a
8770
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html">checksum</a>
8771
+ * and encrypted with an Key Management Service (KMS) key, you must have permission to use the
8772
+ * <code>kms:Decrypt</code> action to retrieve the checksum.</p>
8761
8773
  * @public
8762
8774
  */
8763
8775
  ChecksumMode?: ChecksumMode;
@@ -10297,9 +10309,10 @@ export interface HeadObjectRequest {
10297
10309
  ExpectedBucketOwner?: string;
10298
10310
  /**
10299
10311
  * <p>To retrieve the checksum, this parameter must be enabled.</p>
10300
- * <p>In addition, if you enable <code>ChecksumMode</code> and the object is encrypted with
10301
- * Amazon Web Services Key Management Service (Amazon Web Services KMS), you must have permission to use the
10302
- * <code>kms:Decrypt</code> action for the request to succeed.</p>
10312
+ * <p>In addition, if you enable checksum mode and the object is uploaded with a
10313
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html">checksum</a>
10314
+ * and encrypted with an Key Management Service (KMS) key, you must have permission to use the
10315
+ * <code>kms:Decrypt</code> action to retrieve the checksum.</p>
10303
10316
  * @public
10304
10317
  */
10305
10318
  ChecksumMode?: ChecksumMode;
@@ -722,6 +722,14 @@ export interface PutObjectRequest {
722
722
  * @public
723
723
  */
724
724
  Expires?: Date;
725
+ /**
726
+ * <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
727
+ * <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should retry the upload.</p>
728
+ * <p>Expects the '*' (asterisk) character.</p>
729
+ * <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
730
+ * @public
731
+ */
732
+ IfNoneMatch?: string;
725
733
  /**
726
734
  * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.</p>
727
735
  * <note>
@@ -1870,7 +1878,13 @@ export interface OutputSerialization {
1870
1878
  JSON?: JSONOutput;
1871
1879
  }
1872
1880
  /**
1873
- * <p>Describes the parameters for Select job types.</p>
1881
+ * <important>
1882
+ * <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>
1883
+ * </p>
1884
+ * </important>
1885
+ * <p>Describes the parameters for Select job types.</p>
1886
+ * <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
1887
+ * <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>
1874
1888
  * @public
1875
1889
  */
1876
1890
  export interface SelectParameters {
@@ -1885,7 +1899,11 @@ export interface SelectParameters {
1885
1899
  */
1886
1900
  ExpressionType: ExpressionType | undefined;
1887
1901
  /**
1888
- * <p>The expression that is used to query the object.</p>
1902
+ * <important>
1903
+ * <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>
1904
+ * </p>
1905
+ * </important>
1906
+ * <p>The expression that is used to query the object.</p>
1889
1907
  * @public
1890
1908
  */
1891
1909
  Expression: string | undefined;
@@ -1926,7 +1944,11 @@ export interface RestoreRequest {
1926
1944
  */
1927
1945
  GlacierJobParameters?: GlacierJobParameters;
1928
1946
  /**
1929
- * <p>Type of restore request.</p>
1947
+ * <important>
1948
+ * <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>
1949
+ * </p>
1950
+ * </important>
1951
+ * <p>Type of restore request.</p>
1930
1952
  * @public
1931
1953
  */
1932
1954
  Type?: RestoreRequestType;
@@ -1941,7 +1963,11 @@ export interface RestoreRequest {
1941
1963
  */
1942
1964
  Description?: string;
1943
1965
  /**
1944
- * <p>Describes the parameters for Select job types.</p>
1966
+ * <important>
1967
+ * <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>
1968
+ * </p>
1969
+ * </important>
1970
+ * <p>Describes the parameters for Select job types.</p>
1945
1971
  * @public
1946
1972
  */
1947
1973
  SelectParameters?: SelectParameters;
@@ -2248,7 +2274,11 @@ export interface ScanRange {
2248
2274
  End?: number;
2249
2275
  }
2250
2276
  /**
2251
- * <p>Request to filter the contents of an Amazon S3 object based on a simple Structured Query
2277
+ * <note>
2278
+ * <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>
2279
+ * </p>
2280
+ * </note>
2281
+ * <p>Request to filter the contents of an Amazon S3 object based on a simple Structured Query
2252
2282
  * Language (SQL) statement. In the request, along with the SQL expression, you must specify a
2253
2283
  * data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data
2254
2284
  * into records. It returns only records that match the specified SQL expression. You must
@@ -122,6 +122,7 @@ export interface CompleteMultipartUploadRequest {
122
122
  ChecksumSHA256?: string;
123
123
  RequestPayer?: RequestPayer;
124
124
  ExpectedBucketOwner?: string;
125
+ IfNoneMatch?: string;
125
126
  SSECustomerAlgorithm?: string;
126
127
  SSECustomerKey?: string;
127
128
  SSECustomerKeyMD5?: string;
@@ -125,6 +125,7 @@ export interface PutObjectRequest {
125
125
  ChecksumSHA1?: string;
126
126
  ChecksumSHA256?: string;
127
127
  Expires?: Date;
128
+ IfNoneMatch?: string;
128
129
  GrantFullControl?: string;
129
130
  GrantRead?: string;
130
131
  GrantReadACP?: string;
@@ -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.633.0",
4
+ "version": "3.635.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.632.0",
30
- "@aws-sdk/client-sts": "3.632.0",
31
- "@aws-sdk/core": "3.629.0",
32
- "@aws-sdk/credential-provider-node": "3.632.0",
29
+ "@aws-sdk/client-sso-oidc": "3.635.0",
30
+ "@aws-sdk/client-sts": "3.635.0",
31
+ "@aws-sdk/core": "3.635.0",
32
+ "@aws-sdk/credential-provider-node": "3.635.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,18 +37,18 @@
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.633.0",
40
+ "@aws-sdk/middleware-sdk-s3": "3.635.0",
41
41
  "@aws-sdk/middleware-ssec": "3.609.0",
42
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.633.0",
44
+ "@aws-sdk/signature-v4-multi-region": "3.635.0",
45
45
  "@aws-sdk/types": "3.609.0",
46
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",
50
50
  "@smithy/config-resolver": "^3.0.5",
51
- "@smithy/core": "^2.3.2",
51
+ "@smithy/core": "^2.4.0",
52
52
  "@smithy/eventstream-serde-browser": "^3.0.6",
53
53
  "@smithy/eventstream-serde-config-resolver": "^3.0.3",
54
54
  "@smithy/eventstream-serde-node": "^3.0.5",
@@ -60,20 +60,20 @@
60
60
  "@smithy/md5-js": "^3.0.3",
61
61
  "@smithy/middleware-content-length": "^3.0.5",
62
62
  "@smithy/middleware-endpoint": "^3.1.0",
63
- "@smithy/middleware-retry": "^3.0.14",
63
+ "@smithy/middleware-retry": "^3.0.15",
64
64
  "@smithy/middleware-serde": "^3.0.3",
65
65
  "@smithy/middleware-stack": "^3.0.3",
66
66
  "@smithy/node-config-provider": "^3.1.4",
67
67
  "@smithy/node-http-handler": "^3.1.4",
68
68
  "@smithy/protocol-http": "^4.1.0",
69
- "@smithy/smithy-client": "^3.1.12",
69
+ "@smithy/smithy-client": "^3.2.0",
70
70
  "@smithy/types": "^3.3.0",
71
71
  "@smithy/url-parser": "^3.0.3",
72
72
  "@smithy/util-base64": "^3.0.0",
73
73
  "@smithy/util-body-length-browser": "^3.0.0",
74
74
  "@smithy/util-body-length-node": "^3.0.0",
75
- "@smithy/util-defaults-mode-browser": "^3.0.14",
76
- "@smithy/util-defaults-mode-node": "^3.0.14",
75
+ "@smithy/util-defaults-mode-browser": "^3.0.15",
76
+ "@smithy/util-defaults-mode-node": "^3.0.15",
77
77
  "@smithy/util-endpoints": "^2.0.5",
78
78
  "@smithy/util-middleware": "^3.0.3",
79
79
  "@smithy/util-retry": "^3.0.3",
@@ -83,7 +83,7 @@
83
83
  "tslib": "^2.6.2"
84
84
  },
85
85
  "devDependencies": {
86
- "@aws-sdk/signature-v4-crt": "3.633.0",
86
+ "@aws-sdk/signature-v4-crt": "3.635.0",
87
87
  "@tsconfig/node16": "16.1.3",
88
88
  "@types/chai": "^4.2.11",
89
89
  "@types/mocha": "^8.0.4",
@@ -4155,6 +4155,9 @@ var se_S3Action = /* @__PURE__ */ __name((input, context) => {
4155
4155
  if (input[_KKA] != null) {
4156
4156
  entries[_KKA] = input[_KKA];
4157
4157
  }
4158
+ if (input[_IRA] != null) {
4159
+ entries[_IRA] = input[_IRA];
4160
+ }
4158
4161
  return entries;
4159
4162
  }, "se_S3Action");
4160
4163
  var se_SendBounceRequest = /* @__PURE__ */ __name((input, context) => {
@@ -5737,6 +5740,9 @@ var de_S3Action = /* @__PURE__ */ __name((output, context) => {
5737
5740
  if (output[_KKA] != null) {
5738
5741
  contents[_KKA] = (0, import_smithy_client.expectString)(output[_KKA]);
5739
5742
  }
5743
+ if (output[_IRA] != null) {
5744
+ contents[_IRA] = (0, import_smithy_client.expectString)(output[_IRA]);
5745
+ }
5740
5746
  return contents;
5741
5747
  }, "de_S3Action");
5742
5748
  var de_SendBounceResponse = /* @__PURE__ */ __name((output, context) => {
@@ -6138,6 +6144,7 @@ var _HV = "HeaderValue";
6138
6144
  var _I = "Identity";
6139
6145
  var _IAMRARN = "IAMRoleARN";
6140
6146
  var _IF = "IpFilter";
6147
+ var _IRA = "IamRoleArn";
6141
6148
  var _IT = "InvocationType";
6142
6149
  var _ITd = "IdentityType";
6143
6150
  var _Id = "Identities";
@@ -3099,6 +3099,9 @@ const se_S3Action = (input, context) => {
3099
3099
  if (input[_KKA] != null) {
3100
3100
  entries[_KKA] = input[_KKA];
3101
3101
  }
3102
+ if (input[_IRA] != null) {
3103
+ entries[_IRA] = input[_IRA];
3104
+ }
3102
3105
  return entries;
3103
3106
  };
3104
3107
  const se_SendBounceRequest = (input, context) => {
@@ -4726,6 +4729,9 @@ const de_S3Action = (output, context) => {
4726
4729
  if (output[_KKA] != null) {
4727
4730
  contents[_KKA] = __expectString(output[_KKA]);
4728
4731
  }
4732
+ if (output[_IRA] != null) {
4733
+ contents[_IRA] = __expectString(output[_IRA]);
4734
+ }
4729
4735
  return contents;
4730
4736
  };
4731
4737
  const de_SendBounceResponse = (output, context) => {
@@ -5136,6 +5142,7 @@ const _HV = "HeaderValue";
5136
5142
  const _I = "Identity";
5137
5143
  const _IAMRARN = "IAMRoleARN";
5138
5144
  const _IF = "IpFilter";
5145
+ const _IRA = "IamRoleArn";
5139
5146
  const _IT = "InvocationType";
5140
5147
  const _ITd = "IdentityType";
5141
5148
  const _Id = "Identities";
@@ -54,6 +54,7 @@ declare const CreateReceiptRuleCommand_base: {
54
54
  * BucketName: "STRING_VALUE", // required
55
55
  * ObjectKeyPrefix: "STRING_VALUE",
56
56
  * KmsKeyArn: "STRING_VALUE",
57
+ * IamRoleArn: "STRING_VALUE",
57
58
  * },
58
59
  * BounceAction: { // BounceAction
59
60
  * TopicArn: "STRING_VALUE",
@@ -60,6 +60,7 @@ declare const DescribeActiveReceiptRuleSetCommand_base: {
60
60
  * // BucketName: "STRING_VALUE", // required
61
61
  * // ObjectKeyPrefix: "STRING_VALUE",
62
62
  * // KmsKeyArn: "STRING_VALUE",
63
+ * // IamRoleArn: "STRING_VALUE",
63
64
  * // },
64
65
  * // BounceAction: { // BounceAction
65
66
  * // TopicArn: "STRING_VALUE",
@@ -58,6 +58,7 @@ declare const DescribeReceiptRuleCommand_base: {
58
58
  * // BucketName: "STRING_VALUE", // required
59
59
  * // ObjectKeyPrefix: "STRING_VALUE",
60
60
  * // KmsKeyArn: "STRING_VALUE",
61
+ * // IamRoleArn: "STRING_VALUE",
61
62
  * // },
62
63
  * // BounceAction: { // BounceAction
63
64
  * // TopicArn: "STRING_VALUE",
@@ -62,6 +62,7 @@ declare const DescribeReceiptRuleSetCommand_base: {
62
62
  * // BucketName: "STRING_VALUE", // required
63
63
  * // ObjectKeyPrefix: "STRING_VALUE",
64
64
  * // KmsKeyArn: "STRING_VALUE",
65
+ * // IamRoleArn: "STRING_VALUE",
65
66
  * // },
66
67
  * // BounceAction: { // BounceAction
67
68
  * // TopicArn: "STRING_VALUE",