@mavogel/awscdk-rootmail 0.0.269 → 0.0.270

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 (97) hide show
  1. package/.jsii +3 -3
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +100 -31
  5. package/node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectCommand.js +1 -1
  6. package/node_modules/@aws-sdk/client-s3/dist-es/models/models_0.js +5 -0
  7. package/node_modules/@aws-sdk/client-s3/dist-es/protocols/Aws_restXml.js +91 -29
  8. package/node_modules/@aws-sdk/client-s3/dist-types/commands/AbortMultipartUploadCommand.d.ts +2 -2
  9. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CompleteMultipartUploadCommand.d.ts +8 -2
  10. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CopyObjectCommand.d.ts +5 -3
  11. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketCommand.d.ts +2 -2
  12. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketMetadataTableConfigurationCommand.d.ts +1 -1
  13. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateMultipartUploadCommand.d.ts +6 -4
  14. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateSessionCommand.d.ts +2 -2
  15. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCommand.d.ts +2 -2
  16. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketLifecycleCommand.d.ts +2 -2
  17. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketPolicyCommand.d.ts +2 -2
  18. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectCommand.d.ts +2 -2
  19. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectsCommand.d.ts +3 -3
  20. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +2 -2
  21. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyCommand.d.ts +2 -2
  22. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAttributesCommand.d.ts +5 -2
  23. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +4 -2
  24. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadBucketCommand.d.ts +2 -2
  25. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadObjectCommand.d.ts +4 -2
  26. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListDirectoryBucketsCommand.d.ts +2 -2
  27. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListMultipartUploadsCommand.d.ts +4 -3
  28. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectVersionsCommand.d.ts +2 -1
  29. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsCommand.d.ts +2 -1
  30. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsV2Command.d.ts +4 -3
  31. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListPartsCommand.d.ts +5 -3
  32. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAccelerateConfigurationCommand.d.ts +1 -1
  33. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAclCommand.d.ts +1 -1
  34. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketCorsCommand.d.ts +1 -1
  35. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketEncryptionCommand.d.ts +3 -3
  36. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +3 -3
  37. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLoggingCommand.d.ts +1 -1
  38. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketPolicyCommand.d.ts +3 -3
  39. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketReplicationCommand.d.ts +1 -1
  40. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketRequestPaymentCommand.d.ts +1 -1
  41. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketTaggingCommand.d.ts +1 -1
  42. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketVersioningCommand.d.ts +2 -2
  43. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketWebsiteCommand.d.ts +1 -1
  44. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectAclCommand.d.ts +1 -1
  45. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +6 -3
  46. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLegalHoldCommand.d.ts +1 -1
  47. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLockConfigurationCommand.d.ts +1 -1
  48. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectRetentionCommand.d.ts +1 -1
  49. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectTaggingCommand.d.ts +1 -1
  50. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutPublicAccessBlockCommand.d.ts +1 -1
  51. package/node_modules/@aws-sdk/client-s3/dist-types/commands/RestoreObjectCommand.d.ts +1 -1
  52. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCommand.d.ts +5 -3
  53. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +3 -2
  54. package/node_modules/@aws-sdk/client-s3/dist-types/commands/WriteGetObjectResponseCommand.d.ts +1 -0
  55. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts +251 -111
  56. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_1.d.ts +140 -64
  57. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_0.d.ts +28 -3
  58. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_1.d.ts +12 -1
  59. package/node_modules/@aws-sdk/client-s3/package.json +2 -2
  60. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js +88 -17
  61. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/constants.js +2 -2
  62. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/crc64-nvme-crt-container.js +3 -0
  63. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsInputMiddleware.js +37 -0
  64. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsMiddleware.js +17 -2
  65. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksumAlgorithmForRequest.js +9 -5
  66. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getFlexibleChecksumsPlugin.js +2 -0
  67. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/index.js +1 -0
  68. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/selectChecksumAlgorithmFunction.js +10 -0
  69. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/types.js +2 -0
  70. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/configuration.d.ts +10 -1
  71. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/constants.d.ts +5 -5
  72. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/crc64-nvme-crt-container.d.ts +13 -0
  73. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexibleChecksumsInputMiddleware.d.ts +19 -0
  74. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getChecksumAlgorithmForRequest.d.ts +6 -2
  75. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getFlexibleChecksumsPlugin.d.ts +2 -1
  76. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/index.d.ts +1 -0
  77. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/configuration.d.ts +7 -0
  78. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/constants.d.ts +2 -3
  79. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/crc64-nvme-crt-container.d.ts +4 -0
  80. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/flexibleChecksumsInputMiddleware.d.ts +10 -0
  81. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/getChecksumAlgorithmForRequest.d.ts +4 -3
  82. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/getFlexibleChecksumsPlugin.d.ts +2 -0
  83. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/index.d.ts +1 -0
  84. package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +1 -1
  85. package/node_modules/@smithy/core/package.json +3 -3
  86. package/node_modules/@smithy/middleware-endpoint/package.json +3 -3
  87. package/node_modules/@smithy/middleware-retry/package.json +2 -2
  88. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +2 -2
  89. package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +2 -2
  90. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +1 -1
  91. package/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +1 -1
  92. package/node_modules/@smithy/node-http-handler/package.json +2 -2
  93. package/node_modules/@smithy/smithy-client/package.json +4 -4
  94. package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
  95. package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  96. package/node_modules/@smithy/util-stream/package.json +3 -3
  97. package/package.json +3 -3
@@ -78,6 +78,11 @@ export type OwnerOverride = (typeof OwnerOverride)[keyof typeof OwnerOverride];
78
78
  export interface AccessControlTranslation {
79
79
  Owner: OwnerOverride | undefined;
80
80
  }
81
+ export declare const ChecksumType: {
82
+ readonly COMPOSITE: "COMPOSITE";
83
+ readonly FULL_OBJECT: "FULL_OBJECT";
84
+ };
85
+ export type ChecksumType = (typeof ChecksumType)[keyof typeof ChecksumType];
81
86
  export declare const ServerSideEncryption: {
82
87
  readonly AES256: "AES256";
83
88
  readonly aws_kms: "aws:kms";
@@ -93,8 +98,10 @@ export interface CompleteMultipartUploadOutput {
93
98
  ETag?: string | undefined;
94
99
  ChecksumCRC32?: string | undefined;
95
100
  ChecksumCRC32C?: string | undefined;
101
+ ChecksumCRC64NVME?: string | undefined;
96
102
  ChecksumSHA1?: string | undefined;
97
103
  ChecksumSHA256?: string | undefined;
104
+ ChecksumType?: ChecksumType | undefined;
98
105
  ServerSideEncryption?: ServerSideEncryption | undefined;
99
106
  VersionId?: string | undefined;
100
107
  SSEKMSKeyId?: string | undefined;
@@ -105,6 +112,7 @@ export interface CompletedPart {
105
112
  ETag?: string | undefined;
106
113
  ChecksumCRC32?: string | undefined;
107
114
  ChecksumCRC32C?: string | undefined;
115
+ ChecksumCRC64NVME?: string | undefined;
108
116
  ChecksumSHA1?: string | undefined;
109
117
  ChecksumSHA256?: string | undefined;
110
118
  PartNumber?: number | undefined;
@@ -119,8 +127,11 @@ export interface CompleteMultipartUploadRequest {
119
127
  UploadId: string | undefined;
120
128
  ChecksumCRC32?: string | undefined;
121
129
  ChecksumCRC32C?: string | undefined;
130
+ ChecksumCRC64NVME?: string | undefined;
122
131
  ChecksumSHA1?: string | undefined;
123
132
  ChecksumSHA256?: string | undefined;
133
+ ChecksumType?: ChecksumType | undefined;
134
+ MpuObjectSize?: string | undefined;
124
135
  RequestPayer?: RequestPayer | undefined;
125
136
  ExpectedBucketOwner?: string | undefined;
126
137
  IfMatch?: string | undefined;
@@ -132,8 +143,10 @@ export interface CompleteMultipartUploadRequest {
132
143
  export interface CopyObjectResult {
133
144
  ETag?: string | undefined;
134
145
  LastModified?: Date | undefined;
146
+ ChecksumType?: ChecksumType | undefined;
135
147
  ChecksumCRC32?: string | undefined;
136
148
  ChecksumCRC32C?: string | undefined;
149
+ ChecksumCRC64NVME?: string | undefined;
137
150
  ChecksumSHA1?: string | undefined;
138
151
  ChecksumSHA256?: string | undefined;
139
152
  }
@@ -164,6 +177,7 @@ export type ObjectCannedACL =
164
177
  export declare const ChecksumAlgorithm: {
165
178
  readonly CRC32: "CRC32";
166
179
  readonly CRC32C: "CRC32C";
180
+ readonly CRC64NVME: "CRC64NVME";
167
181
  readonly SHA1: "SHA1";
168
182
  readonly SHA256: "SHA256";
169
183
  };
@@ -389,6 +403,7 @@ export interface CreateMultipartUploadOutput {
389
403
  BucketKeyEnabled?: boolean | undefined;
390
404
  RequestCharged?: RequestCharged | undefined;
391
405
  ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
406
+ ChecksumType?: ChecksumType | undefined;
392
407
  }
393
408
  export interface CreateMultipartUploadRequest {
394
409
  ACL?: ObjectCannedACL | undefined;
@@ -421,6 +436,7 @@ export interface CreateMultipartUploadRequest {
421
436
  ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | undefined;
422
437
  ExpectedBucketOwner?: string | undefined;
423
438
  ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
439
+ ChecksumType?: ChecksumType | undefined;
424
440
  }
425
441
  export interface SessionCredentials {
426
442
  AccessKeyId: string | undefined;
@@ -1367,8 +1383,10 @@ export interface GetObjectOutput {
1367
1383
  ETag?: string | undefined;
1368
1384
  ChecksumCRC32?: string | undefined;
1369
1385
  ChecksumCRC32C?: string | undefined;
1386
+ ChecksumCRC64NVME?: string | undefined;
1370
1387
  ChecksumSHA1?: string | undefined;
1371
1388
  ChecksumSHA256?: string | undefined;
1389
+ ChecksumType?: ChecksumType | undefined;
1372
1390
  MissingMeta?: number | undefined;
1373
1391
  VersionId?: string | undefined;
1374
1392
  CacheControl?: string | undefined;
@@ -1449,14 +1467,17 @@ export interface GetObjectAclRequest {
1449
1467
  export interface Checksum {
1450
1468
  ChecksumCRC32?: string | undefined;
1451
1469
  ChecksumCRC32C?: string | undefined;
1470
+ ChecksumCRC64NVME?: string | undefined;
1452
1471
  ChecksumSHA1?: string | undefined;
1453
1472
  ChecksumSHA256?: string | undefined;
1473
+ ChecksumType?: ChecksumType | undefined;
1454
1474
  }
1455
1475
  export interface ObjectPart {
1456
1476
  PartNumber?: number | undefined;
1457
1477
  Size?: number | undefined;
1458
1478
  ChecksumCRC32?: string | undefined;
1459
1479
  ChecksumCRC32C?: string | undefined;
1480
+ ChecksumCRC64NVME?: string | undefined;
1460
1481
  ChecksumSHA1?: string | undefined;
1461
1482
  ChecksumSHA256?: string | undefined;
1462
1483
  }
@@ -1622,8 +1643,10 @@ export interface HeadObjectOutput {
1622
1643
  ContentLength?: number | undefined;
1623
1644
  ChecksumCRC32?: string | undefined;
1624
1645
  ChecksumCRC32C?: string | undefined;
1646
+ ChecksumCRC64NVME?: string | undefined;
1625
1647
  ChecksumSHA1?: string | undefined;
1626
1648
  ChecksumSHA256?: string | undefined;
1649
+ ChecksumType?: ChecksumType | undefined;
1627
1650
  ETag?: string | undefined;
1628
1651
  MissingMeta?: number | undefined;
1629
1652
  VersionId?: string | undefined;
@@ -1761,6 +1784,7 @@ export interface MultipartUpload {
1761
1784
  Owner?: Owner | undefined;
1762
1785
  Initiator?: Initiator | undefined;
1763
1786
  ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
1787
+ ChecksumType?: ChecksumType | undefined;
1764
1788
  }
1765
1789
  export interface ListMultipartUploadsOutput {
1766
1790
  Bucket?: string | undefined;
@@ -1812,6 +1836,7 @@ export interface _Object {
1812
1836
  LastModified?: Date | undefined;
1813
1837
  ETag?: string | undefined;
1814
1838
  ChecksumAlgorithm?: ChecksumAlgorithm[] | undefined;
1839
+ ChecksumType?: ChecksumType | undefined;
1815
1840
  Size?: number | undefined;
1816
1841
  StorageClass?: ObjectStorageClass | undefined;
1817
1842
  Owner?: Owner | undefined;
@@ -1889,6 +1914,7 @@ export type ObjectVersionStorageClass =
1889
1914
  export interface ObjectVersion {
1890
1915
  ETag?: string | undefined;
1891
1916
  ChecksumAlgorithm?: ChecksumAlgorithm[] | undefined;
1917
+ ChecksumType?: ChecksumType | undefined;
1892
1918
  Size?: number | undefined;
1893
1919
  StorageClass?: ObjectVersionStorageClass | undefined;
1894
1920
  Key?: string | undefined;
@@ -1933,6 +1959,7 @@ export interface Part {
1933
1959
  Size?: number | undefined;
1934
1960
  ChecksumCRC32?: string | undefined;
1935
1961
  ChecksumCRC32C?: string | undefined;
1962
+ ChecksumCRC64NVME?: string | undefined;
1936
1963
  ChecksumSHA1?: string | undefined;
1937
1964
  ChecksumSHA256?: string | undefined;
1938
1965
  }
@@ -1952,6 +1979,7 @@ export interface ListPartsOutput {
1952
1979
  StorageClass?: StorageClass | undefined;
1953
1980
  RequestCharged?: RequestCharged | undefined;
1954
1981
  ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
1982
+ ChecksumType?: ChecksumType | undefined;
1955
1983
  }
1956
1984
  export interface ListPartsRequest {
1957
1985
  Bucket: string | undefined;
@@ -1990,9 +2018,6 @@ export interface PutBucketAnalyticsConfigurationRequest {
1990
2018
  AnalyticsConfiguration: AnalyticsConfiguration | undefined;
1991
2019
  ExpectedBucketOwner?: string | undefined;
1992
2020
  }
1993
- export interface CORSConfiguration {
1994
- CORSRules: CORSRule[] | undefined;
1995
- }
1996
2021
  export declare const CompleteMultipartUploadOutputFilterSensitiveLog: (
1997
2022
  obj: CompleteMultipartUploadOutput
1998
2023
  ) => any;
@@ -4,7 +4,8 @@ import {
4
4
  AccessControlPolicy,
5
5
  BucketVersioningStatus,
6
6
  ChecksumAlgorithm,
7
- CORSConfiguration,
7
+ ChecksumType,
8
+ CORSRule,
8
9
  ErrorDocument,
9
10
  Grant,
10
11
  IndexDocument,
@@ -36,6 +37,9 @@ import {
36
37
  TransitionDefaultMinimumObjectSize,
37
38
  } from "./models_0";
38
39
  import { S3ServiceException as __BaseException } from "./S3ServiceException";
40
+ export interface CORSConfiguration {
41
+ CORSRules: CORSRule[] | undefined;
42
+ }
39
43
  export interface PutBucketCorsRequest {
40
44
  Bucket: string | undefined;
41
45
  CORSConfiguration: CORSConfiguration | undefined;
@@ -196,8 +200,10 @@ export interface PutObjectOutput {
196
200
  ETag?: string | undefined;
197
201
  ChecksumCRC32?: string | undefined;
198
202
  ChecksumCRC32C?: string | undefined;
203
+ ChecksumCRC64NVME?: string | undefined;
199
204
  ChecksumSHA1?: string | undefined;
200
205
  ChecksumSHA256?: string | undefined;
206
+ ChecksumType?: ChecksumType | undefined;
201
207
  ServerSideEncryption?: ServerSideEncryption | undefined;
202
208
  VersionId?: string | undefined;
203
209
  SSECustomerAlgorithm?: string | undefined;
@@ -222,6 +228,7 @@ export interface PutObjectRequest {
222
228
  ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
223
229
  ChecksumCRC32?: string | undefined;
224
230
  ChecksumCRC32C?: string | undefined;
231
+ ChecksumCRC64NVME?: string | undefined;
225
232
  ChecksumSHA1?: string | undefined;
226
233
  ChecksumSHA256?: string | undefined;
227
234
  Expires?: Date | undefined;
@@ -585,6 +592,7 @@ export interface UploadPartOutput {
585
592
  ETag?: string | undefined;
586
593
  ChecksumCRC32?: string | undefined;
587
594
  ChecksumCRC32C?: string | undefined;
595
+ ChecksumCRC64NVME?: string | undefined;
588
596
  ChecksumSHA1?: string | undefined;
589
597
  ChecksumSHA256?: string | undefined;
590
598
  SSECustomerAlgorithm?: string | undefined;
@@ -601,6 +609,7 @@ export interface UploadPartRequest {
601
609
  ChecksumAlgorithm?: ChecksumAlgorithm | undefined;
602
610
  ChecksumCRC32?: string | undefined;
603
611
  ChecksumCRC32C?: string | undefined;
612
+ ChecksumCRC64NVME?: string | undefined;
604
613
  ChecksumSHA1?: string | undefined;
605
614
  ChecksumSHA256?: string | undefined;
606
615
  Key: string | undefined;
@@ -617,6 +626,7 @@ export interface CopyPartResult {
617
626
  LastModified?: Date | undefined;
618
627
  ChecksumCRC32?: string | undefined;
619
628
  ChecksumCRC32C?: string | undefined;
629
+ ChecksumCRC64NVME?: string | undefined;
620
630
  ChecksumSHA1?: string | undefined;
621
631
  ChecksumSHA256?: string | undefined;
622
632
  }
@@ -668,6 +678,7 @@ export interface WriteGetObjectResponseRequest {
668
678
  ContentType?: string | undefined;
669
679
  ChecksumCRC32?: string | undefined;
670
680
  ChecksumCRC32C?: string | undefined;
681
+ ChecksumCRC64NVME?: string | undefined;
671
682
  ChecksumSHA1?: string | undefined;
672
683
  ChecksumSHA256?: string | undefined;
673
684
  DeleteMarker?: boolean | undefined;
@@ -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.726.1",
4
+ "version": "3.729.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",
@@ -33,7 +33,7 @@
33
33
  "@aws-sdk/credential-provider-node": "3.726.0",
34
34
  "@aws-sdk/middleware-bucket-endpoint": "3.726.0",
35
35
  "@aws-sdk/middleware-expect-continue": "3.723.0",
36
- "@aws-sdk/middleware-flexible-checksums": "3.723.0",
36
+ "@aws-sdk/middleware-flexible-checksums": "3.729.0",
37
37
  "@aws-sdk/middleware-host-header": "3.723.0",
38
38
  "@aws-sdk/middleware-location-constraint": "3.723.0",
39
39
  "@aws-sdk/middleware-logger": "3.723.0",
@@ -34,7 +34,7 @@ __export(src_exports, {
34
34
  NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS: () => NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS,
35
35
  RequestChecksumCalculation: () => RequestChecksumCalculation,
36
36
  ResponseChecksumValidation: () => ResponseChecksumValidation,
37
- S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM: () => S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM,
37
+ crc64NvmeCrtContainer: () => crc64NvmeCrtContainer,
38
38
  flexibleChecksumsMiddleware: () => flexibleChecksumsMiddleware,
39
39
  flexibleChecksumsMiddlewareOptions: () => flexibleChecksumsMiddlewareOptions,
40
40
  getFlexibleChecksumsPlugin: () => getFlexibleChecksumsPlugin,
@@ -81,6 +81,7 @@ var ChecksumAlgorithm = /* @__PURE__ */ ((ChecksumAlgorithm3) => {
81
81
  ChecksumAlgorithm3["MD5"] = "MD5";
82
82
  ChecksumAlgorithm3["CRC32"] = "CRC32";
83
83
  ChecksumAlgorithm3["CRC32C"] = "CRC32C";
84
+ ChecksumAlgorithm3["CRC64NVME"] = "CRC64NVME";
84
85
  ChecksumAlgorithm3["SHA1"] = "SHA1";
85
86
  ChecksumAlgorithm3["SHA256"] = "SHA256";
86
87
  return ChecksumAlgorithm3;
@@ -90,8 +91,7 @@ var ChecksumLocation = /* @__PURE__ */ ((ChecksumLocation2) => {
90
91
  ChecksumLocation2["TRAILER"] = "trailer";
91
92
  return ChecksumLocation2;
92
93
  })(ChecksumLocation || {});
93
- var DEFAULT_CHECKSUM_ALGORITHM = "MD5" /* MD5 */;
94
- var S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM = "CRC32" /* CRC32 */;
94
+ var DEFAULT_CHECKSUM_ALGORITHM = "CRC32" /* CRC32 */;
95
95
 
96
96
  // src/stringUnionSelector.ts
97
97
  var stringUnionSelector = /* @__PURE__ */ __name((obj, key, union, type) => {
@@ -122,6 +122,11 @@ var NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS = {
122
122
  default: DEFAULT_RESPONSE_CHECKSUM_VALIDATION
123
123
  };
124
124
 
125
+ // src/crc64-nvme-crt-container.ts
126
+ var crc64NvmeCrtContainer = {
127
+ CrtCrc64Nvme: null
128
+ };
129
+
125
130
  // src/flexibleChecksumsMiddleware.ts
126
131
  var import_core = require("@aws-sdk/core");
127
132
  var import_protocol_http = require("@smithy/protocol-http");
@@ -130,6 +135,7 @@ var import_protocol_http = require("@smithy/protocol-http");
130
135
  var CLIENT_SUPPORTED_ALGORITHMS = [
131
136
  "CRC32" /* CRC32 */,
132
137
  "CRC32C" /* CRC32C */,
138
+ "CRC64NVME" /* CRC64NVME */,
133
139
  "SHA1" /* SHA1 */,
134
140
  "SHA256" /* SHA256 */
135
141
  ];
@@ -137,14 +143,17 @@ var PRIORITY_ORDER_ALGORITHMS = [
137
143
  "SHA256" /* SHA256 */,
138
144
  "SHA1" /* SHA1 */,
139
145
  "CRC32" /* CRC32 */,
140
- "CRC32C" /* CRC32C */
146
+ "CRC32C" /* CRC32C */,
147
+ "CRC64NVME" /* CRC64NVME */
141
148
  ];
142
149
 
143
150
  // src/getChecksumAlgorithmForRequest.ts
144
- var getChecksumAlgorithmForRequest = /* @__PURE__ */ __name((input, { requestChecksumRequired, requestAlgorithmMember }, isS3Express) => {
145
- const defaultAlgorithm = isS3Express ? S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM : DEFAULT_CHECKSUM_ALGORITHM;
146
- if (!requestAlgorithmMember || !input[requestAlgorithmMember]) {
147
- return requestChecksumRequired ? defaultAlgorithm : void 0;
151
+ var getChecksumAlgorithmForRequest = /* @__PURE__ */ __name((input, { requestChecksumRequired, requestAlgorithmMember, requestChecksumCalculation }) => {
152
+ if (!requestAlgorithmMember) {
153
+ return requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired ? DEFAULT_CHECKSUM_ALGORITHM : void 0;
154
+ }
155
+ if (!input[requestAlgorithmMember]) {
156
+ return void 0;
148
157
  }
149
158
  const checksumAlgorithm = input[requestAlgorithmMember];
150
159
  if (!CLIENT_SUPPORTED_ALGORITHMS.includes(checksumAlgorithm)) {
@@ -195,6 +204,15 @@ var selectChecksumAlgorithmFunction = /* @__PURE__ */ __name((checksumAlgorithm,
195
204
  return (0, import_getCrc32ChecksumAlgorithmFunction.getCrc32ChecksumAlgorithmFunction)();
196
205
  case "CRC32C" /* CRC32C */:
197
206
  return import_crc32c.AwsCrc32c;
207
+ case "CRC64NVME" /* CRC64NVME */:
208
+ if (typeof crc64NvmeCrtContainer.CrtCrc64Nvme !== "function") {
209
+ throw new Error(
210
+ `Please check whether you have installed the "@aws-sdk/crc64-nvme-crt" package explicitly.
211
+ You must also register the package by calling [require("@aws-sdk/crc64-nvme-crt");] or an ESM equivalent such as [import "@aws-sdk/crc64-nvme-crt";].
212
+ For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`
213
+ );
214
+ }
215
+ return crc64NvmeCrtContainer.CrtCrc64Nvme;
198
216
  case "SHA1" /* SHA1 */:
199
217
  return config.sha1;
200
218
  case "SHA256" /* SHA256 */:
@@ -230,14 +248,22 @@ var flexibleChecksumsMiddleware = /* @__PURE__ */ __name((config, middlewareConf
230
248
  const { body: requestBody, headers } = request;
231
249
  const { base64Encoder, streamHasher } = config;
232
250
  const { requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;
233
- const checksumAlgorithm = getChecksumAlgorithmForRequest(
234
- input,
235
- {
236
- requestChecksumRequired,
237
- requestAlgorithmMember: requestAlgorithmMember?.name
238
- },
239
- !!context.isS3ExpressBucket
240
- );
251
+ const requestChecksumCalculation = await config.requestChecksumCalculation();
252
+ const requestAlgorithmMemberName = requestAlgorithmMember?.name;
253
+ const requestAlgorithmMemberHttpHeader = requestAlgorithmMember?.httpHeader;
254
+ if (requestAlgorithmMemberName && !input[requestAlgorithmMemberName]) {
255
+ if (requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired) {
256
+ input[requestAlgorithmMemberName] = DEFAULT_CHECKSUM_ALGORITHM;
257
+ if (requestAlgorithmMemberHttpHeader) {
258
+ headers[requestAlgorithmMemberHttpHeader] = DEFAULT_CHECKSUM_ALGORITHM;
259
+ }
260
+ }
261
+ }
262
+ const checksumAlgorithm = getChecksumAlgorithmForRequest(input, {
263
+ requestChecksumRequired,
264
+ requestAlgorithmMember: requestAlgorithmMember?.name,
265
+ requestChecksumCalculation
266
+ });
241
267
  let updatedBody = requestBody;
242
268
  let updatedHeaders = headers;
243
269
  if (checksumAlgorithm) {
@@ -248,6 +274,9 @@ var flexibleChecksumsMiddleware = /* @__PURE__ */ __name((config, middlewareConf
248
274
  case "CRC32C" /* CRC32C */:
249
275
  (0, import_core.setFeature)(context, "FLEXIBLE_CHECKSUMS_REQ_CRC32C", "V");
250
276
  break;
277
+ case "CRC64NVME" /* CRC64NVME */:
278
+ (0, import_core.setFeature)(context, "FLEXIBLE_CHECKSUMS_REQ_CRC64", "W");
279
+ break;
251
280
  case "SHA1" /* SHA1 */:
252
281
  (0, import_core.setFeature)(context, "FLEXIBLE_CHECKSUMS_REQ_SHA1", "X");
253
282
  break;
@@ -294,6 +323,44 @@ var flexibleChecksumsMiddleware = /* @__PURE__ */ __name((config, middlewareConf
294
323
  return result;
295
324
  }, "flexibleChecksumsMiddleware");
296
325
 
326
+ // src/flexibleChecksumsInputMiddleware.ts
327
+
328
+ var flexibleChecksumsInputMiddlewareOptions = {
329
+ name: "flexibleChecksumsInputMiddleware",
330
+ toMiddleware: "serializerMiddleware",
331
+ relation: "before",
332
+ tags: ["BODY_CHECKSUM"],
333
+ override: true
334
+ };
335
+ var flexibleChecksumsInputMiddleware = /* @__PURE__ */ __name((config, middlewareConfig) => (next, context) => async (args) => {
336
+ const input = args.input;
337
+ const { requestValidationModeMember } = middlewareConfig;
338
+ const requestChecksumCalculation = await config.requestChecksumCalculation();
339
+ const responseChecksumValidation = await config.responseChecksumValidation();
340
+ switch (requestChecksumCalculation) {
341
+ case RequestChecksumCalculation.WHEN_REQUIRED:
342
+ (0, import_core.setFeature)(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED", "a");
343
+ break;
344
+ case RequestChecksumCalculation.WHEN_SUPPORTED:
345
+ (0, import_core.setFeature)(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED", "Z");
346
+ break;
347
+ }
348
+ switch (responseChecksumValidation) {
349
+ case ResponseChecksumValidation.WHEN_REQUIRED:
350
+ (0, import_core.setFeature)(context, "FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED", "c");
351
+ break;
352
+ case ResponseChecksumValidation.WHEN_SUPPORTED:
353
+ (0, import_core.setFeature)(context, "FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED", "b");
354
+ break;
355
+ }
356
+ if (requestValidationModeMember && !input[requestValidationModeMember]) {
357
+ if (responseChecksumValidation === ResponseChecksumValidation.WHEN_SUPPORTED) {
358
+ input[requestValidationModeMember] = "ENABLED";
359
+ }
360
+ }
361
+ return next(args);
362
+ }, "flexibleChecksumsInputMiddleware");
363
+
297
364
  // src/flexibleChecksumsResponseMiddleware.ts
298
365
 
299
366
 
@@ -411,6 +478,10 @@ var flexibleChecksumsResponseMiddleware = /* @__PURE__ */ __name((config, middle
411
478
  var getFlexibleChecksumsPlugin = /* @__PURE__ */ __name((config, middlewareConfig) => ({
412
479
  applyToStack: (clientStack) => {
413
480
  clientStack.add(flexibleChecksumsMiddleware(config, middlewareConfig), flexibleChecksumsMiddlewareOptions);
481
+ clientStack.addRelativeTo(
482
+ flexibleChecksumsInputMiddleware(config, middlewareConfig),
483
+ flexibleChecksumsInputMiddlewareOptions
484
+ );
414
485
  clientStack.addRelativeTo(
415
486
  flexibleChecksumsResponseMiddleware(config, middlewareConfig),
416
487
  flexibleChecksumsResponseMiddlewareOptions
@@ -445,7 +516,7 @@ var resolveFlexibleChecksumsConfig = /* @__PURE__ */ __name((input) => ({
445
516
  ChecksumAlgorithm,
446
517
  ChecksumLocation,
447
518
  DEFAULT_CHECKSUM_ALGORITHM,
448
- S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM,
519
+ crc64NvmeCrtContainer,
449
520
  flexibleChecksumsMiddlewareOptions,
450
521
  flexibleChecksumsMiddleware,
451
522
  getFlexibleChecksumsPlugin,
@@ -13,6 +13,7 @@ export var ChecksumAlgorithm;
13
13
  ChecksumAlgorithm["MD5"] = "MD5";
14
14
  ChecksumAlgorithm["CRC32"] = "CRC32";
15
15
  ChecksumAlgorithm["CRC32C"] = "CRC32C";
16
+ ChecksumAlgorithm["CRC64NVME"] = "CRC64NVME";
16
17
  ChecksumAlgorithm["SHA1"] = "SHA1";
17
18
  ChecksumAlgorithm["SHA256"] = "SHA256";
18
19
  })(ChecksumAlgorithm || (ChecksumAlgorithm = {}));
@@ -21,5 +22,4 @@ export var ChecksumLocation;
21
22
  ChecksumLocation["HEADER"] = "header";
22
23
  ChecksumLocation["TRAILER"] = "trailer";
23
24
  })(ChecksumLocation || (ChecksumLocation = {}));
24
- export const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.MD5;
25
- export const S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;
25
+ export const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;
@@ -0,0 +1,3 @@
1
+ export const crc64NvmeCrtContainer = {
2
+ CrtCrc64Nvme: null,
3
+ };
@@ -0,0 +1,37 @@
1
+ import { setFeature } from "@aws-sdk/core";
2
+ import { RequestChecksumCalculation, ResponseChecksumValidation } from "./constants";
3
+ export const flexibleChecksumsInputMiddlewareOptions = {
4
+ name: "flexibleChecksumsInputMiddleware",
5
+ toMiddleware: "serializerMiddleware",
6
+ relation: "before",
7
+ tags: ["BODY_CHECKSUM"],
8
+ override: true,
9
+ };
10
+ export const flexibleChecksumsInputMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {
11
+ const input = args.input;
12
+ const { requestValidationModeMember } = middlewareConfig;
13
+ const requestChecksumCalculation = await config.requestChecksumCalculation();
14
+ const responseChecksumValidation = await config.responseChecksumValidation();
15
+ switch (requestChecksumCalculation) {
16
+ case RequestChecksumCalculation.WHEN_REQUIRED:
17
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED", "a");
18
+ break;
19
+ case RequestChecksumCalculation.WHEN_SUPPORTED:
20
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED", "Z");
21
+ break;
22
+ }
23
+ switch (responseChecksumValidation) {
24
+ case ResponseChecksumValidation.WHEN_REQUIRED:
25
+ setFeature(context, "FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED", "c");
26
+ break;
27
+ case ResponseChecksumValidation.WHEN_SUPPORTED:
28
+ setFeature(context, "FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED", "b");
29
+ break;
30
+ }
31
+ if (requestValidationModeMember && !input[requestValidationModeMember]) {
32
+ if (responseChecksumValidation === ResponseChecksumValidation.WHEN_SUPPORTED) {
33
+ input[requestValidationModeMember] = "ENABLED";
34
+ }
35
+ }
36
+ return next(args);
37
+ };
@@ -1,6 +1,6 @@
1
1
  import { setFeature } from "@aws-sdk/core";
2
2
  import { HttpRequest } from "@smithy/protocol-http";
3
- import { ChecksumAlgorithm } from "./constants";
3
+ import { ChecksumAlgorithm, DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation } from "./constants";
4
4
  import { getChecksumAlgorithmForRequest } from "./getChecksumAlgorithmForRequest";
5
5
  import { getChecksumLocationName } from "./getChecksumLocationName";
6
6
  import { hasHeader } from "./hasHeader";
@@ -25,10 +25,22 @@ export const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next,
25
25
  const { body: requestBody, headers } = request;
26
26
  const { base64Encoder, streamHasher } = config;
27
27
  const { requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;
28
+ const requestChecksumCalculation = await config.requestChecksumCalculation();
29
+ const requestAlgorithmMemberName = requestAlgorithmMember?.name;
30
+ const requestAlgorithmMemberHttpHeader = requestAlgorithmMember?.httpHeader;
31
+ if (requestAlgorithmMemberName && !input[requestAlgorithmMemberName]) {
32
+ if (requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired) {
33
+ input[requestAlgorithmMemberName] = DEFAULT_CHECKSUM_ALGORITHM;
34
+ if (requestAlgorithmMemberHttpHeader) {
35
+ headers[requestAlgorithmMemberHttpHeader] = DEFAULT_CHECKSUM_ALGORITHM;
36
+ }
37
+ }
38
+ }
28
39
  const checksumAlgorithm = getChecksumAlgorithmForRequest(input, {
29
40
  requestChecksumRequired,
30
41
  requestAlgorithmMember: requestAlgorithmMember?.name,
31
- }, !!context.isS3ExpressBucket);
42
+ requestChecksumCalculation,
43
+ });
32
44
  let updatedBody = requestBody;
33
45
  let updatedHeaders = headers;
34
46
  if (checksumAlgorithm) {
@@ -39,6 +51,9 @@ export const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next,
39
51
  case ChecksumAlgorithm.CRC32C:
40
52
  setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_CRC32C", "V");
41
53
  break;
54
+ case ChecksumAlgorithm.CRC64NVME:
55
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_CRC64", "W");
56
+ break;
42
57
  case ChecksumAlgorithm.SHA1:
43
58
  setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_SHA1", "X");
44
59
  break;
@@ -1,9 +1,13 @@
1
- import { DEFAULT_CHECKSUM_ALGORITHM, S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM } from "./constants";
1
+ import { DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation } from "./constants";
2
2
  import { CLIENT_SUPPORTED_ALGORITHMS } from "./types";
3
- export const getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember }, isS3Express) => {
4
- const defaultAlgorithm = isS3Express ? S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM : DEFAULT_CHECKSUM_ALGORITHM;
5
- if (!requestAlgorithmMember || !input[requestAlgorithmMember]) {
6
- return requestChecksumRequired ? defaultAlgorithm : undefined;
3
+ export const getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember, requestChecksumCalculation }) => {
4
+ if (!requestAlgorithmMember) {
5
+ return requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired
6
+ ? DEFAULT_CHECKSUM_ALGORITHM
7
+ : undefined;
8
+ }
9
+ if (!input[requestAlgorithmMember]) {
10
+ return undefined;
7
11
  }
8
12
  const checksumAlgorithm = input[requestAlgorithmMember];
9
13
  if (!CLIENT_SUPPORTED_ALGORITHMS.includes(checksumAlgorithm)) {
@@ -1,8 +1,10 @@
1
+ import { flexibleChecksumsInputMiddleware, flexibleChecksumsInputMiddlewareOptions, } from "./flexibleChecksumsInputMiddleware";
1
2
  import { flexibleChecksumsMiddleware, flexibleChecksumsMiddlewareOptions, } from "./flexibleChecksumsMiddleware";
2
3
  import { flexibleChecksumsResponseMiddleware, flexibleChecksumsResponseMiddlewareOptions, } from "./flexibleChecksumsResponseMiddleware";
3
4
  export const getFlexibleChecksumsPlugin = (config, middlewareConfig) => ({
4
5
  applyToStack: (clientStack) => {
5
6
  clientStack.add(flexibleChecksumsMiddleware(config, middlewareConfig), flexibleChecksumsMiddlewareOptions);
7
+ clientStack.addRelativeTo(flexibleChecksumsInputMiddleware(config, middlewareConfig), flexibleChecksumsInputMiddlewareOptions);
6
8
  clientStack.addRelativeTo(flexibleChecksumsResponseMiddleware(config, middlewareConfig), flexibleChecksumsResponseMiddlewareOptions);
7
9
  },
8
10
  });
@@ -1,6 +1,7 @@
1
1
  export * from "./NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS";
2
2
  export * from "./NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS";
3
3
  export * from "./constants";
4
+ export * from "./crc64-nvme-crt-container";
4
5
  export * from "./flexibleChecksumsMiddleware";
5
6
  export * from "./getFlexibleChecksumsPlugin";
6
7
  export * from "./resolveFlexibleChecksumsConfig";
@@ -1,5 +1,6 @@
1
1
  import { AwsCrc32c } from "@aws-crypto/crc32c";
2
2
  import { ChecksumAlgorithm } from "./constants";
3
+ import { crc64NvmeCrtContainer } from "./crc64-nvme-crt-container";
3
4
  import { getCrc32ChecksumAlgorithmFunction } from "./getCrc32ChecksumAlgorithmFunction";
4
5
  export const selectChecksumAlgorithmFunction = (checksumAlgorithm, config) => {
5
6
  switch (checksumAlgorithm) {
@@ -9,6 +10,15 @@ export const selectChecksumAlgorithmFunction = (checksumAlgorithm, config) => {
9
10
  return getCrc32ChecksumAlgorithmFunction();
10
11
  case ChecksumAlgorithm.CRC32C:
11
12
  return AwsCrc32c;
13
+ case ChecksumAlgorithm.CRC64NVME:
14
+ if (typeof crc64NvmeCrtContainer.CrtCrc64Nvme !== "function") {
15
+ throw new Error(`Please check whether you have installed the "@aws-sdk/crc64-nvme-crt" package explicitly. \n` +
16
+ `You must also register the package by calling [require("@aws-sdk/crc64-nvme-crt");] ` +
17
+ `or an ESM equivalent such as [import "@aws-sdk/crc64-nvme-crt";]. \n` +
18
+ "For more information please go to " +
19
+ "https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt");
20
+ }
21
+ return crc64NvmeCrtContainer.CrtCrc64Nvme;
12
22
  case ChecksumAlgorithm.SHA1:
13
23
  return config.sha1;
14
24
  case ChecksumAlgorithm.SHA256:
@@ -2,6 +2,7 @@ import { ChecksumAlgorithm } from "./constants";
2
2
  export const CLIENT_SUPPORTED_ALGORITHMS = [
3
3
  ChecksumAlgorithm.CRC32,
4
4
  ChecksumAlgorithm.CRC32C,
5
+ ChecksumAlgorithm.CRC64NVME,
5
6
  ChecksumAlgorithm.SHA1,
6
7
  ChecksumAlgorithm.SHA256,
7
8
  ];
@@ -10,4 +11,5 @@ export const PRIORITY_ORDER_ALGORITHMS = [
10
11
  ChecksumAlgorithm.SHA1,
11
12
  ChecksumAlgorithm.CRC32,
12
13
  ChecksumAlgorithm.CRC32C,
14
+ ChecksumAlgorithm.CRC64NVME,
13
15
  ];
@@ -1,4 +1,5 @@
1
- import { BodyLengthCalculator, ChecksumConstructor, Encoder, GetAwsChunkedEncodingStream, HashConstructor, StreamCollector, StreamHasher } from "@smithy/types";
1
+ import { BodyLengthCalculator, ChecksumConstructor, Encoder, GetAwsChunkedEncodingStream, HashConstructor, Provider, StreamCollector, StreamHasher } from "@smithy/types";
2
+ import { RequestChecksumCalculation, ResponseChecksumValidation } from "./constants";
2
3
  export interface PreviouslyResolved {
3
4
  /**
4
5
  * The function that will be used to convert binary data to a base64-encoded string.
@@ -18,6 +19,14 @@ export interface PreviouslyResolved {
18
19
  * @internal
19
20
  */
20
21
  md5: ChecksumConstructor | HashConstructor;
22
+ /**
23
+ * Determines when a checksum will be calculated for request payloads
24
+ */
25
+ requestChecksumCalculation: Provider<RequestChecksumCalculation>;
26
+ /**
27
+ * Determines when a checksum will be calculated for response payloads
28
+ */
29
+ responseChecksumValidation: Provider<ResponseChecksumValidation>;
21
30
  /**
22
31
  * A constructor for a class implementing the {@link Hash} interface that computes SHA1 hashes.
23
32
  * @internal
@@ -44,9 +44,13 @@ export declare const DEFAULT_RESPONSE_CHECKSUM_VALIDATION: "WHEN_SUPPORTED";
44
44
  * Checksum Algorithms supported by the SDK.
45
45
  */
46
46
  export declare enum ChecksumAlgorithm {
47
+ /**
48
+ * @deprecated Use {@link ChecksumAlgorithm.CRC32} instead.
49
+ */
47
50
  MD5 = "MD5",
48
51
  CRC32 = "CRC32",
49
52
  CRC32C = "CRC32C",
53
+ CRC64NVME = "CRC64NVME",
50
54
  SHA1 = "SHA1",
51
55
  SHA256 = "SHA256"
52
56
  }
@@ -60,8 +64,4 @@ export declare enum ChecksumLocation {
60
64
  /**
61
65
  * @internal
62
66
  */
63
- export declare const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.MD5;
64
- /**
65
- * @internal
66
- */
67
- export declare const S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;
67
+ export declare const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;