@aws-sdk/client-s3 3.651.1 → 3.657.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 (204) hide show
  1. package/dist-cjs/index.js +20 -3
  2. package/dist-es/commands/CreateSessionCommand.js +2 -2
  3. package/dist-es/models/models_0.js +7 -0
  4. package/dist-es/protocols/Aws_restXml.js +8 -0
  5. package/dist-types/commands/AbortMultipartUploadCommand.d.ts +11 -0
  6. package/dist-types/commands/CompleteMultipartUploadCommand.d.ts +19 -7
  7. package/dist-types/commands/CopyObjectCommand.d.ts +14 -0
  8. package/dist-types/commands/CreateBucketCommand.d.ts +11 -0
  9. package/dist-types/commands/CreateMultipartUploadCommand.d.ts +32 -1
  10. package/dist-types/commands/CreateSessionCommand.d.ts +55 -6
  11. package/dist-types/commands/DeleteBucketAnalyticsConfigurationCommand.d.ts +11 -0
  12. package/dist-types/commands/DeleteBucketCommand.d.ts +11 -0
  13. package/dist-types/commands/DeleteBucketCorsCommand.d.ts +11 -0
  14. package/dist-types/commands/DeleteBucketEncryptionCommand.d.ts +50 -12
  15. package/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +11 -0
  16. package/dist-types/commands/DeleteBucketInventoryConfigurationCommand.d.ts +11 -0
  17. package/dist-types/commands/DeleteBucketLifecycleCommand.d.ts +11 -0
  18. package/dist-types/commands/DeleteBucketMetricsConfigurationCommand.d.ts +11 -0
  19. package/dist-types/commands/DeleteBucketOwnershipControlsCommand.d.ts +11 -0
  20. package/dist-types/commands/DeleteBucketPolicyCommand.d.ts +11 -0
  21. package/dist-types/commands/DeleteBucketReplicationCommand.d.ts +11 -0
  22. package/dist-types/commands/DeleteBucketTaggingCommand.d.ts +11 -0
  23. package/dist-types/commands/DeleteBucketWebsiteCommand.d.ts +11 -0
  24. package/dist-types/commands/DeleteObjectCommand.d.ts +11 -0
  25. package/dist-types/commands/DeleteObjectTaggingCommand.d.ts +11 -0
  26. package/dist-types/commands/DeleteObjectsCommand.d.ts +11 -0
  27. package/dist-types/commands/DeletePublicAccessBlockCommand.d.ts +11 -0
  28. package/dist-types/commands/GetBucketAccelerateConfigurationCommand.d.ts +11 -0
  29. package/dist-types/commands/GetBucketAclCommand.d.ts +11 -0
  30. package/dist-types/commands/GetBucketAnalyticsConfigurationCommand.d.ts +11 -0
  31. package/dist-types/commands/GetBucketCorsCommand.d.ts +11 -0
  32. package/dist-types/commands/GetBucketEncryptionCommand.d.ts +51 -11
  33. package/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +11 -0
  34. package/dist-types/commands/GetBucketInventoryConfigurationCommand.d.ts +11 -0
  35. package/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +11 -0
  36. package/dist-types/commands/GetBucketLocationCommand.d.ts +11 -0
  37. package/dist-types/commands/GetBucketLoggingCommand.d.ts +11 -0
  38. package/dist-types/commands/GetBucketMetricsConfigurationCommand.d.ts +11 -0
  39. package/dist-types/commands/GetBucketNotificationConfigurationCommand.d.ts +11 -0
  40. package/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +11 -0
  41. package/dist-types/commands/GetBucketPolicyCommand.d.ts +11 -0
  42. package/dist-types/commands/GetBucketPolicyStatusCommand.d.ts +11 -0
  43. package/dist-types/commands/GetBucketReplicationCommand.d.ts +11 -0
  44. package/dist-types/commands/GetBucketRequestPaymentCommand.d.ts +11 -0
  45. package/dist-types/commands/GetBucketTaggingCommand.d.ts +11 -0
  46. package/dist-types/commands/GetBucketVersioningCommand.d.ts +11 -0
  47. package/dist-types/commands/GetBucketWebsiteCommand.d.ts +11 -0
  48. package/dist-types/commands/GetObjectAclCommand.d.ts +11 -0
  49. package/dist-types/commands/GetObjectAttributesCommand.d.ts +19 -2
  50. package/dist-types/commands/GetObjectCommand.d.ts +17 -0
  51. package/dist-types/commands/GetObjectLegalHoldCommand.d.ts +11 -0
  52. package/dist-types/commands/GetObjectLockConfigurationCommand.d.ts +11 -0
  53. package/dist-types/commands/GetObjectRetentionCommand.d.ts +11 -0
  54. package/dist-types/commands/GetObjectTaggingCommand.d.ts +11 -0
  55. package/dist-types/commands/GetObjectTorrentCommand.d.ts +11 -0
  56. package/dist-types/commands/GetPublicAccessBlockCommand.d.ts +11 -0
  57. package/dist-types/commands/HeadBucketCommand.d.ts +11 -0
  58. package/dist-types/commands/HeadObjectCommand.d.ts +16 -1
  59. package/dist-types/commands/ListBucketAnalyticsConfigurationsCommand.d.ts +11 -0
  60. package/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +11 -0
  61. package/dist-types/commands/ListBucketInventoryConfigurationsCommand.d.ts +11 -0
  62. package/dist-types/commands/ListBucketMetricsConfigurationsCommand.d.ts +11 -0
  63. package/dist-types/commands/ListBucketsCommand.d.ts +11 -0
  64. package/dist-types/commands/ListDirectoryBucketsCommand.d.ts +11 -0
  65. package/dist-types/commands/ListMultipartUploadsCommand.d.ts +11 -0
  66. package/dist-types/commands/ListObjectVersionsCommand.d.ts +11 -0
  67. package/dist-types/commands/ListObjectsCommand.d.ts +11 -0
  68. package/dist-types/commands/ListObjectsV2Command.d.ts +11 -0
  69. package/dist-types/commands/ListPartsCommand.d.ts +11 -0
  70. package/dist-types/commands/PutBucketAccelerateConfigurationCommand.d.ts +11 -0
  71. package/dist-types/commands/PutBucketAclCommand.d.ts +11 -0
  72. package/dist-types/commands/PutBucketAnalyticsConfigurationCommand.d.ts +11 -0
  73. package/dist-types/commands/PutBucketCorsCommand.d.ts +11 -0
  74. package/dist-types/commands/PutBucketEncryptionCommand.d.ts +99 -15
  75. package/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +11 -0
  76. package/dist-types/commands/PutBucketInventoryConfigurationCommand.d.ts +11 -0
  77. package/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +11 -0
  78. package/dist-types/commands/PutBucketLoggingCommand.d.ts +11 -0
  79. package/dist-types/commands/PutBucketMetricsConfigurationCommand.d.ts +11 -0
  80. package/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +11 -0
  81. package/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +11 -0
  82. package/dist-types/commands/PutBucketPolicyCommand.d.ts +11 -0
  83. package/dist-types/commands/PutBucketReplicationCommand.d.ts +11 -0
  84. package/dist-types/commands/PutBucketRequestPaymentCommand.d.ts +11 -0
  85. package/dist-types/commands/PutBucketTaggingCommand.d.ts +11 -0
  86. package/dist-types/commands/PutBucketVersioningCommand.d.ts +11 -0
  87. package/dist-types/commands/PutBucketWebsiteCommand.d.ts +11 -0
  88. package/dist-types/commands/PutObjectAclCommand.d.ts +11 -0
  89. package/dist-types/commands/PutObjectCommand.d.ts +14 -0
  90. package/dist-types/commands/PutObjectLegalHoldCommand.d.ts +11 -0
  91. package/dist-types/commands/PutObjectLockConfigurationCommand.d.ts +11 -0
  92. package/dist-types/commands/PutObjectRetentionCommand.d.ts +11 -0
  93. package/dist-types/commands/PutObjectTaggingCommand.d.ts +11 -0
  94. package/dist-types/commands/PutPublicAccessBlockCommand.d.ts +11 -0
  95. package/dist-types/commands/RestoreObjectCommand.d.ts +11 -0
  96. package/dist-types/commands/SelectObjectContentCommand.d.ts +11 -0
  97. package/dist-types/commands/UploadPartCommand.d.ts +18 -4
  98. package/dist-types/commands/UploadPartCopyCommand.d.ts +22 -1
  99. package/dist-types/commands/WriteGetObjectResponseCommand.d.ts +11 -0
  100. package/dist-types/models/models_0.d.ts +327 -148
  101. package/dist-types/models/models_1.d.ts +73 -79
  102. package/dist-types/runtimeConfig.browser.d.ts +2 -2
  103. package/dist-types/runtimeConfig.d.ts +2 -2
  104. package/dist-types/runtimeConfig.native.d.ts +2 -2
  105. package/dist-types/ts3.4/commands/AbortMultipartUploadCommand.d.ts +12 -1
  106. package/dist-types/ts3.4/commands/CompleteMultipartUploadCommand.d.ts +12 -1
  107. package/dist-types/ts3.4/commands/CopyObjectCommand.d.ts +12 -1
  108. package/dist-types/ts3.4/commands/CreateBucketCommand.d.ts +12 -1
  109. package/dist-types/ts3.4/commands/CreateMultipartUploadCommand.d.ts +12 -1
  110. package/dist-types/ts3.4/commands/CreateSessionCommand.d.ts +12 -1
  111. package/dist-types/ts3.4/commands/DeleteBucketAnalyticsConfigurationCommand.d.ts +12 -1
  112. package/dist-types/ts3.4/commands/DeleteBucketCommand.d.ts +12 -1
  113. package/dist-types/ts3.4/commands/DeleteBucketCorsCommand.d.ts +12 -1
  114. package/dist-types/ts3.4/commands/DeleteBucketEncryptionCommand.d.ts +12 -1
  115. package/dist-types/ts3.4/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +12 -1
  116. package/dist-types/ts3.4/commands/DeleteBucketInventoryConfigurationCommand.d.ts +12 -1
  117. package/dist-types/ts3.4/commands/DeleteBucketLifecycleCommand.d.ts +12 -1
  118. package/dist-types/ts3.4/commands/DeleteBucketMetricsConfigurationCommand.d.ts +12 -1
  119. package/dist-types/ts3.4/commands/DeleteBucketOwnershipControlsCommand.d.ts +12 -1
  120. package/dist-types/ts3.4/commands/DeleteBucketPolicyCommand.d.ts +12 -1
  121. package/dist-types/ts3.4/commands/DeleteBucketReplicationCommand.d.ts +12 -1
  122. package/dist-types/ts3.4/commands/DeleteBucketTaggingCommand.d.ts +12 -1
  123. package/dist-types/ts3.4/commands/DeleteBucketWebsiteCommand.d.ts +12 -1
  124. package/dist-types/ts3.4/commands/DeleteObjectCommand.d.ts +12 -1
  125. package/dist-types/ts3.4/commands/DeleteObjectTaggingCommand.d.ts +12 -1
  126. package/dist-types/ts3.4/commands/DeleteObjectsCommand.d.ts +12 -1
  127. package/dist-types/ts3.4/commands/DeletePublicAccessBlockCommand.d.ts +12 -1
  128. package/dist-types/ts3.4/commands/GetBucketAccelerateConfigurationCommand.d.ts +12 -1
  129. package/dist-types/ts3.4/commands/GetBucketAclCommand.d.ts +12 -1
  130. package/dist-types/ts3.4/commands/GetBucketAnalyticsConfigurationCommand.d.ts +12 -1
  131. package/dist-types/ts3.4/commands/GetBucketCorsCommand.d.ts +12 -1
  132. package/dist-types/ts3.4/commands/GetBucketEncryptionCommand.d.ts +12 -1
  133. package/dist-types/ts3.4/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +12 -1
  134. package/dist-types/ts3.4/commands/GetBucketInventoryConfigurationCommand.d.ts +12 -1
  135. package/dist-types/ts3.4/commands/GetBucketLifecycleConfigurationCommand.d.ts +12 -1
  136. package/dist-types/ts3.4/commands/GetBucketLocationCommand.d.ts +12 -1
  137. package/dist-types/ts3.4/commands/GetBucketLoggingCommand.d.ts +12 -1
  138. package/dist-types/ts3.4/commands/GetBucketMetricsConfigurationCommand.d.ts +12 -1
  139. package/dist-types/ts3.4/commands/GetBucketNotificationConfigurationCommand.d.ts +12 -1
  140. package/dist-types/ts3.4/commands/GetBucketOwnershipControlsCommand.d.ts +12 -1
  141. package/dist-types/ts3.4/commands/GetBucketPolicyCommand.d.ts +12 -1
  142. package/dist-types/ts3.4/commands/GetBucketPolicyStatusCommand.d.ts +12 -1
  143. package/dist-types/ts3.4/commands/GetBucketReplicationCommand.d.ts +12 -1
  144. package/dist-types/ts3.4/commands/GetBucketRequestPaymentCommand.d.ts +12 -1
  145. package/dist-types/ts3.4/commands/GetBucketTaggingCommand.d.ts +12 -1
  146. package/dist-types/ts3.4/commands/GetBucketVersioningCommand.d.ts +12 -1
  147. package/dist-types/ts3.4/commands/GetBucketWebsiteCommand.d.ts +12 -1
  148. package/dist-types/ts3.4/commands/GetObjectAclCommand.d.ts +12 -1
  149. package/dist-types/ts3.4/commands/GetObjectAttributesCommand.d.ts +12 -1
  150. package/dist-types/ts3.4/commands/GetObjectCommand.d.ts +12 -1
  151. package/dist-types/ts3.4/commands/GetObjectLegalHoldCommand.d.ts +12 -1
  152. package/dist-types/ts3.4/commands/GetObjectLockConfigurationCommand.d.ts +12 -1
  153. package/dist-types/ts3.4/commands/GetObjectRetentionCommand.d.ts +12 -1
  154. package/dist-types/ts3.4/commands/GetObjectTaggingCommand.d.ts +12 -1
  155. package/dist-types/ts3.4/commands/GetObjectTorrentCommand.d.ts +12 -1
  156. package/dist-types/ts3.4/commands/GetPublicAccessBlockCommand.d.ts +12 -1
  157. package/dist-types/ts3.4/commands/HeadBucketCommand.d.ts +12 -1
  158. package/dist-types/ts3.4/commands/HeadObjectCommand.d.ts +12 -1
  159. package/dist-types/ts3.4/commands/ListBucketAnalyticsConfigurationsCommand.d.ts +12 -1
  160. package/dist-types/ts3.4/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +12 -1
  161. package/dist-types/ts3.4/commands/ListBucketInventoryConfigurationsCommand.d.ts +12 -1
  162. package/dist-types/ts3.4/commands/ListBucketMetricsConfigurationsCommand.d.ts +12 -1
  163. package/dist-types/ts3.4/commands/ListBucketsCommand.d.ts +12 -1
  164. package/dist-types/ts3.4/commands/ListDirectoryBucketsCommand.d.ts +12 -1
  165. package/dist-types/ts3.4/commands/ListMultipartUploadsCommand.d.ts +12 -1
  166. package/dist-types/ts3.4/commands/ListObjectVersionsCommand.d.ts +12 -1
  167. package/dist-types/ts3.4/commands/ListObjectsCommand.d.ts +12 -1
  168. package/dist-types/ts3.4/commands/ListObjectsV2Command.d.ts +12 -1
  169. package/dist-types/ts3.4/commands/ListPartsCommand.d.ts +12 -1
  170. package/dist-types/ts3.4/commands/PutBucketAccelerateConfigurationCommand.d.ts +12 -1
  171. package/dist-types/ts3.4/commands/PutBucketAclCommand.d.ts +12 -1
  172. package/dist-types/ts3.4/commands/PutBucketAnalyticsConfigurationCommand.d.ts +12 -1
  173. package/dist-types/ts3.4/commands/PutBucketCorsCommand.d.ts +12 -1
  174. package/dist-types/ts3.4/commands/PutBucketEncryptionCommand.d.ts +12 -1
  175. package/dist-types/ts3.4/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +12 -1
  176. package/dist-types/ts3.4/commands/PutBucketInventoryConfigurationCommand.d.ts +12 -1
  177. package/dist-types/ts3.4/commands/PutBucketLifecycleConfigurationCommand.d.ts +12 -1
  178. package/dist-types/ts3.4/commands/PutBucketLoggingCommand.d.ts +12 -1
  179. package/dist-types/ts3.4/commands/PutBucketMetricsConfigurationCommand.d.ts +12 -1
  180. package/dist-types/ts3.4/commands/PutBucketNotificationConfigurationCommand.d.ts +12 -1
  181. package/dist-types/ts3.4/commands/PutBucketOwnershipControlsCommand.d.ts +12 -1
  182. package/dist-types/ts3.4/commands/PutBucketPolicyCommand.d.ts +12 -1
  183. package/dist-types/ts3.4/commands/PutBucketReplicationCommand.d.ts +12 -1
  184. package/dist-types/ts3.4/commands/PutBucketRequestPaymentCommand.d.ts +12 -1
  185. package/dist-types/ts3.4/commands/PutBucketTaggingCommand.d.ts +12 -1
  186. package/dist-types/ts3.4/commands/PutBucketVersioningCommand.d.ts +12 -1
  187. package/dist-types/ts3.4/commands/PutBucketWebsiteCommand.d.ts +12 -1
  188. package/dist-types/ts3.4/commands/PutObjectAclCommand.d.ts +12 -1
  189. package/dist-types/ts3.4/commands/PutObjectCommand.d.ts +12 -1
  190. package/dist-types/ts3.4/commands/PutObjectLegalHoldCommand.d.ts +12 -1
  191. package/dist-types/ts3.4/commands/PutObjectLockConfigurationCommand.d.ts +12 -1
  192. package/dist-types/ts3.4/commands/PutObjectRetentionCommand.d.ts +12 -1
  193. package/dist-types/ts3.4/commands/PutObjectTaggingCommand.d.ts +12 -1
  194. package/dist-types/ts3.4/commands/PutPublicAccessBlockCommand.d.ts +12 -1
  195. package/dist-types/ts3.4/commands/RestoreObjectCommand.d.ts +12 -1
  196. package/dist-types/ts3.4/commands/SelectObjectContentCommand.d.ts +12 -1
  197. package/dist-types/ts3.4/commands/UploadPartCommand.d.ts +12 -1
  198. package/dist-types/ts3.4/commands/UploadPartCopyCommand.d.ts +12 -1
  199. package/dist-types/ts3.4/commands/WriteGetObjectResponseCommand.d.ts +12 -1
  200. package/dist-types/ts3.4/models/models_0.d.ts +11 -0
  201. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +8 -4
  202. package/dist-types/ts3.4/runtimeConfig.d.ts +8 -4
  203. package/dist-types/ts3.4/runtimeConfig.native.d.ts +8 -4
  204. package/package.json +52 -52
@@ -426,9 +426,6 @@ export interface CompleteMultipartUploadOutput {
426
426
  /**
427
427
  * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
428
428
  * <code>AES256</code>, <code>aws:kms</code>).</p>
429
- * <note>
430
- * <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
431
- * </note>
432
429
  * @public
433
430
  */
434
431
  ServerSideEncryption?: ServerSideEncryption;
@@ -442,20 +439,13 @@ export interface CompleteMultipartUploadOutput {
442
439
  */
443
440
  VersionId?: string;
444
441
  /**
445
- * <p>If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key
446
- * that was used for the object.</p>
447
- * <note>
448
- * <p>This functionality is not supported for directory buckets.</p>
449
- * </note>
442
+ * <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
450
443
  * @public
451
444
  */
452
445
  SSEKMSKeyId?: string;
453
446
  /**
454
447
  * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption
455
448
  * with Key Management Service (KMS) keys (SSE-KMS).</p>
456
- * <note>
457
- * <p>This functionality is not supported for directory buckets.</p>
458
- * </note>
459
449
  * @public
460
450
  */
461
451
  BucketKeyEnabled?: boolean;
@@ -760,9 +750,6 @@ export interface CopyObjectOutput {
760
750
  /**
761
751
  * <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example,
762
752
  * <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
763
- * <note>
764
- * <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
765
- * </note>
766
753
  * @public
767
754
  */
768
755
  ServerSideEncryption?: ServerSideEncryption;
@@ -786,11 +773,7 @@ export interface CopyObjectOutput {
786
773
  */
787
774
  SSECustomerKeyMD5?: string;
788
775
  /**
789
- * <p>If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key
790
- * that was used for the object.</p>
791
- * <note>
792
- * <p>This functionality is not supported for directory buckets.</p>
793
- * </note>
776
+ * <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
794
777
  * @public
795
778
  */
796
779
  SSEKMSKeyId?: string;
@@ -798,18 +781,12 @@ export interface CopyObjectOutput {
798
781
  * <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The
799
782
  * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption
800
783
  * context key-value pairs.</p>
801
- * <note>
802
- * <p>This functionality is not supported for directory buckets.</p>
803
- * </note>
804
784
  * @public
805
785
  */
806
786
  SSEKMSEncryptionContext?: string;
807
787
  /**
808
788
  * <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption
809
789
  * with Key Management Service (KMS) keys (SSE-KMS).</p>
810
- * <note>
811
- * <p>This functionality is not supported for directory buckets.</p>
812
- * </note>
813
790
  * @public
814
791
  */
815
792
  BucketKeyEnabled?: boolean;
@@ -1297,33 +1274,58 @@ export interface CopyObjectRequest {
1297
1274
  */
1298
1275
  TaggingDirective?: TaggingDirective;
1299
1276
  /**
1300
- * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
1301
- * <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>). Unrecognized or unsupported values won’t write a destination object and will receive a <code>400 Bad Request</code> response. </p>
1277
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3. Unrecognized or unsupported values won’t write a destination object and will receive a <code>400 Bad Request</code> response. </p>
1302
1278
  * <p>Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket.
1303
1279
  * When copying an object, if you don't specify encryption information in your copy
1304
1280
  * request, the encryption setting of the target object is set to the default
1305
1281
  * encryption configuration of the destination bucket. By default, all buckets have a
1306
1282
  * base level of encryption configuration that uses server-side encryption with Amazon S3
1307
- * managed keys (SSE-S3). If the destination bucket has a default encryption
1308
- * configuration that uses server-side encryption with Key Management Service (KMS) keys
1309
- * (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or
1310
- * server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3 uses
1311
- * the corresponding KMS key, or a customer-provided key to encrypt the target
1283
+ * managed keys (SSE-S3). If the destination bucket has a different default encryption
1284
+ * configuration, Amazon S3 uses
1285
+ * the corresponding encryption key to encrypt the target
1312
1286
  * object copy.</p>
1313
- * <p>When you perform a <code>CopyObject</code> operation, if you want to use a
1314
- * different type of encryption setting for the target object, you can specify
1315
- * appropriate encryption-related headers to encrypt the target object with an Amazon S3 managed key, a
1316
- * KMS key, or a customer-provided key. If the encryption setting in
1317
- * your request is different from the default encryption configuration of the
1318
- * destination bucket, the encryption setting in your request takes precedence. </p>
1319
1287
  * <p>With server-side
1320
1288
  * encryption, Amazon S3 encrypts your data as it writes your data to disks in its data
1321
1289
  * centers and decrypts the data when you access it. For more information about server-side encryption, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
1322
1290
  * Server-Side Encryption</a> in the
1323
1291
  * <i>Amazon S3 User Guide</i>.</p>
1324
- * <note>
1325
- * <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
1326
- * </note>
1292
+ * <p>
1293
+ * <b>General purpose buckets </b>
1294
+ * </p>
1295
+ * <ul>
1296
+ * <li>
1297
+ * <p>For general purpose buckets, there are the following supported options for server-side encryption: server-side encryption with Key Management Service (KMS) keys
1298
+ * (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), and
1299
+ * server-side encryption with customer-provided encryption keys (SSE-C). Amazon S3 uses
1300
+ * the corresponding KMS key, or a customer-provided key to encrypt the target
1301
+ * object copy.</p>
1302
+ * </li>
1303
+ * <li>
1304
+ * <p>When you perform a <code>CopyObject</code> operation, if you want to use a
1305
+ * different type of encryption setting for the target object, you can specify
1306
+ * appropriate encryption-related headers to encrypt the target object with an Amazon S3 managed key, a
1307
+ * KMS key, or a customer-provided key. If the encryption setting in
1308
+ * your request is different from the default encryption configuration of the
1309
+ * destination bucket, the encryption setting in your request takes precedence. </p>
1310
+ * </li>
1311
+ * </ul>
1312
+ * <p>
1313
+ * <b>Directory buckets </b>
1314
+ * </p>
1315
+ * <ul>
1316
+ * <li>
1317
+ * <p>For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS keys (SSE-KMS) (<code>aws:kms</code>). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your
1318
+ * <code>CreateSession</code> requests or <code>PUT</code> object requests. Then, new objects
1319
+ * are automatically encrypted with the desired encryption settings. For more
1320
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html">Protecting data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>. For more information about the encryption overriding behaviors in directory buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html">Specifying server-side encryption with KMS for new object uploads</a>.</p>
1321
+ * </li>
1322
+ * <li>
1323
+ * <p>To encrypt new object copies to a directory bucket with SSE-KMS, we recommend you specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>).
1324
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket. After you specify a customer managed key for SSE-KMS, you can't override the customer managed key for the bucket's SSE-KMS configuration.
1325
+ * Then, when you perform a <code>CopyObject</code> operation and want to specify server-side encryption settings for new object copies with SSE-KMS in the encryption-related request headers, you must ensure the encryption key is the same customer managed key that you specified for the directory bucket's default encryption configuration.
1326
+ * </p>
1327
+ * </li>
1328
+ * </ul>
1327
1329
  * @public
1328
1330
  */
1329
1331
  ServerSideEncryption?: ServerSideEncryption;
@@ -1418,26 +1420,30 @@ export interface CopyObjectRequest {
1418
1420
  */
1419
1421
  SSECustomerKeyMD5?: string;
1420
1422
  /**
1421
- * <p>Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object encryption. All GET and PUT requests for an
1423
+ * <p>Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. All GET and PUT requests for an
1422
1424
  * object protected by KMS will fail if they're not made via SSL or using SigV4. For
1423
1425
  * information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see
1424
1426
  * <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying the
1425
1427
  * Signature Version in Request Authentication</a> in the
1426
1428
  * <i>Amazon S3 User Guide</i>.</p>
1427
- * <note>
1428
- * <p>This functionality is not supported when the destination bucket is a directory bucket.</p>
1429
- * </note>
1429
+ * <p>
1430
+ * <b>Directory buckets</b> - If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, you must specify the <code>
1431
+ * x-amz-server-side-encryption-aws-kms-key-id</code> header with the ID (Key ID or Key ARN) of the KMS
1432
+ * symmetric encryption customer managed key to use. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
1433
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
1434
+ * </p>
1430
1435
  * @public
1431
1436
  */
1432
1437
  SSEKMSKeyId?: string;
1433
1438
  /**
1434
- * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of
1439
+ * <p>Specifies the Amazon Web Services KMS Encryption Context as an additional encryption context to use for the destination object encryption. The value of
1435
1440
  * this header is a base64-encoded UTF-8 string holding JSON with the encryption context
1436
- * key-value pairs. This value must be explicitly added to specify encryption context for
1437
- * <code>CopyObject</code> requests.</p>
1438
- * <note>
1439
- * <p>This functionality is not supported when the destination bucket is a directory bucket.</p>
1440
- * </note>
1441
+ * key-value pairs.</p>
1442
+ * <p>
1443
+ * <b>General purpose buckets</b> - This value must be explicitly added to specify encryption context for
1444
+ * <code>CopyObject</code> requests if you want an additional encryption context for your destination object. The additional encryption context of the source object won't be copied to the destination object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context">Encryption context</a> in the <i>Amazon S3 User Guide</i>.</p>
1445
+ * <p>
1446
+ * <b>Directory buckets</b> - You can optionally provide an explicit encryption context value. The value must match the default encryption context - the bucket Amazon Resource Name (ARN). An additional encryption context value is not supported. </p>
1441
1447
  * @public
1442
1448
  */
1443
1449
  SSEKMSEncryptionContext?: string;
@@ -1452,7 +1458,9 @@ export interface CopyObjectRequest {
1452
1458
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 Bucket Keys</a> in the
1453
1459
  * <i>Amazon S3 User Guide</i>.</p>
1454
1460
  * <note>
1455
- * <p>This functionality is not supported when the destination bucket is a directory bucket.</p>
1461
+ * <p>
1462
+ * <b>Directory buckets</b> - S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets
1463
+ * to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.</p>
1456
1464
  * </note>
1457
1465
  * @public
1458
1466
  */
@@ -1974,9 +1982,6 @@ export interface CreateMultipartUploadOutput {
1974
1982
  /**
1975
1983
  * <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example,
1976
1984
  * <code>AES256</code>, <code>aws:kms</code>).</p>
1977
- * <note>
1978
- * <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
1979
- * </note>
1980
1985
  * @public
1981
1986
  */
1982
1987
  ServerSideEncryption?: ServerSideEncryption;
@@ -2000,30 +2005,19 @@ export interface CreateMultipartUploadOutput {
2000
2005
  */
2001
2006
  SSECustomerKeyMD5?: string;
2002
2007
  /**
2003
- * <p>If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key
2004
- * that was used for the object.</p>
2005
- * <note>
2006
- * <p>This functionality is not supported for directory buckets.</p>
2007
- * </note>
2008
+ * <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
2008
2009
  * @public
2009
2010
  */
2010
2011
  SSEKMSKeyId?: string;
2011
2012
  /**
2012
- * <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The
2013
- * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption
2014
- * context key-value pairs.</p>
2015
- * <note>
2016
- * <p>This functionality is not supported for directory buckets.</p>
2017
- * </note>
2013
+ * <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of
2014
+ * this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.</p>
2018
2015
  * @public
2019
2016
  */
2020
2017
  SSEKMSEncryptionContext?: string;
2021
2018
  /**
2022
2019
  * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption
2023
2020
  * with Key Management Service (KMS) keys (SSE-KMS).</p>
2024
- * <note>
2025
- * <p>This functionality is not supported for directory buckets.</p>
2026
- * </note>
2027
2021
  * @public
2028
2022
  */
2029
2023
  BucketKeyEnabled?: boolean;
@@ -2437,9 +2431,29 @@ export interface CreateMultipartUploadRequest {
2437
2431
  /**
2438
2432
  * <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example,
2439
2433
  * <code>AES256</code>, <code>aws:kms</code>).</p>
2440
- * <note>
2441
- * <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
2442
- * </note>
2434
+ * <ul>
2435
+ * <li>
2436
+ * <p>
2437
+ * <b>Directory buckets </b> - For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS keys (SSE-KMS) (<code>aws:kms</code>). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your
2438
+ * <code>CreateSession</code> requests or <code>PUT</code> object requests. Then, new objects
2439
+ * are automatically encrypted with the desired encryption settings. For more
2440
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html">Protecting data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>. For more information about the encryption overriding behaviors in directory buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html">Specifying server-side encryption with KMS for new object uploads</a>.
2441
+ * </p>
2442
+ * <p>In the Zonal endpoint API calls (except <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>) using the REST API, the encryption request headers must match the encryption settings that are specified in the <code>CreateSession</code> request.
2443
+ * You can't override the values of the encryption settings (<code>x-amz-server-side-encryption</code>, <code>x-amz-server-side-encryption-aws-kms-key-id</code>, <code>x-amz-server-side-encryption-context</code>, and <code>x-amz-server-side-encryption-bucket-key-enabled</code>) that are specified in the <code>CreateSession</code> request.
2444
+ * You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and
2445
+ * Amazon S3 will use the encryption settings values from the <code>CreateSession</code> request to protect new objects in the directory bucket.
2446
+ * </p>
2447
+ * <note>
2448
+ * <p>When you use the CLI or the Amazon Web Services SDKs, for <code>CreateSession</code>, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the
2449
+ * <code>CreateSession</code> request. It's not supported to override the encryption settings values in the <code>CreateSession</code> request.
2450
+ * So in the Zonal endpoint API calls (except <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>),
2451
+ * the encryption request headers must match the default encryption configuration of the directory bucket.
2452
+ *
2453
+ * </p>
2454
+ * </note>
2455
+ * </li>
2456
+ * </ul>
2443
2457
  * @public
2444
2458
  */
2445
2459
  ServerSideEncryption?: ServerSideEncryption;
@@ -2503,33 +2517,43 @@ export interface CreateMultipartUploadRequest {
2503
2517
  */
2504
2518
  SSECustomerKeyMD5?: string;
2505
2519
  /**
2506
- * <p>Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric encryption customer managed key to use for object encryption.</p>
2507
- * <note>
2508
- * <p>This functionality is not supported for directory buckets.</p>
2509
- * </note>
2520
+ * <p>Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. If the KMS key doesn't exist in the same
2521
+ * account that's issuing the command, you must use the full Key ARN not the Key ID.</p>
2522
+ * <p>
2523
+ * <b>General purpose buckets</b> - If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code> or <code>aws:kms:dsse</code>, this header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS
2524
+ * key to use. If you specify
2525
+ * <code>x-amz-server-side-encryption:aws:kms</code> or
2526
+ * <code>x-amz-server-side-encryption:aws:kms:dsse</code>, but do not provide <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon Web Services managed key
2527
+ * (<code>aws/s3</code>) to protect the data.</p>
2528
+ * <p>
2529
+ * <b>Directory buckets</b> - If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, you must specify the <code>
2530
+ * x-amz-server-side-encryption-aws-kms-key-id</code> header with the ID (Key ID or Key ARN) of the KMS
2531
+ * symmetric encryption customer managed key to use. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
2532
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
2533
+ * </p>
2510
2534
  * @public
2511
2535
  */
2512
2536
  SSEKMSKeyId?: string;
2513
2537
  /**
2514
2538
  * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of
2515
- * this header is a base64-encoded UTF-8 string holding JSON with the encryption context
2516
- * key-value pairs.</p>
2517
- * <note>
2518
- * <p>This functionality is not supported for directory buckets.</p>
2519
- * </note>
2539
+ * this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.</p>
2540
+ * <p>
2541
+ * <b>Directory buckets</b> - You can optionally provide an explicit encryption context value. The value must match the default encryption context - the bucket Amazon Resource Name (ARN). An additional encryption context value is not supported. </p>
2520
2542
  * @public
2521
2543
  */
2522
2544
  SSEKMSEncryptionContext?: string;
2523
2545
  /**
2524
2546
  * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with
2525
- * server-side encryption using Key Management Service (KMS) keys (SSE-KMS). Setting this header to
2547
+ * server-side encryption using Key Management Service (KMS) keys (SSE-KMS).</p>
2548
+ * <p>
2549
+ * <b>General purpose buckets</b> - Setting this header to
2526
2550
  * <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption with
2527
- * SSE-KMS.</p>
2528
- * <p>Specifying this header with an object action doesn’t affect bucket-level settings for S3
2551
+ * SSE-KMS. Also, specifying this header with a PUT action doesn't affect bucket-level settings for S3
2529
2552
  * Bucket Key.</p>
2530
- * <note>
2531
- * <p>This functionality is not supported for directory buckets.</p>
2532
- * </note>
2553
+ * <p>
2554
+ * <b>Directory buckets</b> - S3 Bucket Keys are always enabled for <code>GET</code> and <code>PUT</code> operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets
2555
+ * to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops">the Copy operation in Batch Operations</a>, or
2556
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job">the import jobs</a>. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.</p>
2533
2557
  * @public
2534
2558
  */
2535
2559
  BucketKeyEnabled?: boolean;
@@ -2595,7 +2619,7 @@ export interface CreateMultipartUploadRequest {
2595
2619
  * <p>The established temporary security credentials of the session.</p>
2596
2620
  * <note>
2597
2621
  * <p>
2598
- * <b>Directory buckets</b> - These session credentials are only supported for the authentication and authorization of Zonal endpoint APIs on directory buckets.</p>
2622
+ * <b>Directory buckets</b> - These session credentials are only supported for the authentication and authorization of Zonal endpoint API operations on directory buckets.</p>
2599
2623
  * </note>
2600
2624
  * @public
2601
2625
  */
@@ -2628,6 +2652,32 @@ export interface SessionCredentials {
2628
2652
  * @public
2629
2653
  */
2630
2654
  export interface CreateSessionOutput {
2655
+ /**
2656
+ * <p>The server-side encryption algorithm used when you store objects in the directory bucket.</p>
2657
+ * @public
2658
+ */
2659
+ ServerSideEncryption?: ServerSideEncryption;
2660
+ /**
2661
+ * <p>If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, this header indicates the ID of the KMS
2662
+ * symmetric encryption customer managed key that was used for object encryption.</p>
2663
+ * @public
2664
+ */
2665
+ SSEKMSKeyId?: string;
2666
+ /**
2667
+ * <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of
2668
+ * this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.
2669
+ * This value is stored as object metadata and automatically gets
2670
+ * passed on to Amazon Web Services KMS for future <code>GetObject</code>
2671
+ * operations on this object.</p>
2672
+ * @public
2673
+ */
2674
+ SSEKMSEncryptionContext?: string;
2675
+ /**
2676
+ * <p>Indicates whether to use an S3 Bucket Key for server-side encryption
2677
+ * with KMS keys (SSE-KMS).</p>
2678
+ * @public
2679
+ */
2680
+ BucketKeyEnabled?: boolean;
2631
2681
  /**
2632
2682
  * <p>The established temporary security credentials for the created session.</p>
2633
2683
  * @public
@@ -2653,9 +2703,9 @@ export interface CreateSessionRequest {
2653
2703
  /**
2654
2704
  * <p>Specifies the mode of the session that will be created, either <code>ReadWrite</code> or
2655
2705
  * <code>ReadOnly</code>. By default, a <code>ReadWrite</code> session is created. A
2656
- * <code>ReadWrite</code> session is capable of executing all the Zonal endpoint APIs on a
2706
+ * <code>ReadWrite</code> session is capable of executing all the Zonal endpoint API operations on a
2657
2707
  * directory bucket. A <code>ReadOnly</code> session is constrained to execute the following
2658
- * Zonal endpoint APIs: <code>GetObject</code>, <code>HeadObject</code>, <code>ListObjectsV2</code>,
2708
+ * Zonal endpoint API operations: <code>GetObject</code>, <code>HeadObject</code>, <code>ListObjectsV2</code>,
2659
2709
  * <code>GetObjectAttributes</code>, <code>ListParts</code>, and
2660
2710
  * <code>ListMultipartUploads</code>.</p>
2661
2711
  * @public
@@ -2668,6 +2718,47 @@ export interface CreateSessionRequest {
2668
2718
  * @public
2669
2719
  */
2670
2720
  Bucket: string | undefined;
2721
+ /**
2722
+ * <p>The server-side encryption algorithm to use when you store objects in the directory bucket.</p>
2723
+ * <p>For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS keys (SSE-KMS) (<code>aws:kms</code>). By default, Amazon S3 encrypts data with SSE-S3.
2724
+ * For more
2725
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html">Protecting data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>.</p>
2726
+ * @public
2727
+ */
2728
+ ServerSideEncryption?: ServerSideEncryption;
2729
+ /**
2730
+ * <p>If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, you must specify the <code>
2731
+ * x-amz-server-side-encryption-aws-kms-key-id</code> header with the ID (Key ID or Key ARN) of the KMS
2732
+ * symmetric encryption customer managed key to use. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. Also, if the KMS key doesn't exist in the same
2733
+ * account that't issuing the command, you must use the full Key ARN not the Key ID. </p>
2734
+ * <p>Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
2735
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
2736
+ * </p>
2737
+ * @public
2738
+ */
2739
+ SSEKMSKeyId?: string;
2740
+ /**
2741
+ * <p>Specifies the Amazon Web Services KMS Encryption Context as an additional encryption context to use for object encryption. The value of
2742
+ * this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.
2743
+ * This value is stored as object metadata and automatically gets passed on
2744
+ * to Amazon Web Services KMS for future <code>GetObject</code> operations on
2745
+ * this object.</p>
2746
+ * <p>
2747
+ * <b>General purpose buckets</b> - This value must be explicitly added during <code>CopyObject</code> operations if you want an additional encryption context for your object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context">Encryption context</a> in the <i>Amazon S3 User Guide</i>.</p>
2748
+ * <p>
2749
+ * <b>Directory buckets</b> - You can optionally provide an explicit encryption context value. The value must match the default encryption context - the bucket Amazon Resource Name (ARN). An additional encryption context value is not supported. </p>
2750
+ * @public
2751
+ */
2752
+ SSEKMSEncryptionContext?: string;
2753
+ /**
2754
+ * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with
2755
+ * server-side encryption using KMS keys (SSE-KMS).</p>
2756
+ * <p>S3 Bucket Keys are always enabled for <code>GET</code> and <code>PUT</code> operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets
2757
+ * to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops">the Copy operation in Batch Operations</a>, or
2758
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job">the import jobs</a>. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.</p>
2759
+ * @public
2760
+ */
2761
+ BucketKeyEnabled?: boolean;
2671
2762
  }
2672
2763
  /**
2673
2764
  * <p>The specified bucket does not exist.</p>
@@ -2752,6 +2843,12 @@ export interface DeleteBucketEncryptionRequest {
2752
2843
  /**
2753
2844
  * <p>The name of the bucket containing the server-side encryption configuration to
2754
2845
  * delete.</p>
2846
+ * <p>
2847
+ * <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>
2848
+ * </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>
2849
+ * <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for example, <code>
2850
+ * <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>
2851
+ * </p>
2755
2852
  * <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.
2756
2853
  * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
2757
2854
  * @public
@@ -2759,6 +2856,10 @@ export interface DeleteBucketEncryptionRequest {
2759
2856
  Bucket: string | undefined;
2760
2857
  /**
2761
2858
  * <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>
2859
+ * <note>
2860
+ * <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
2861
+ * <code>501 Not Implemented</code>.</p>
2862
+ * </note>
2762
2863
  * @public
2763
2864
  */
2764
2865
  ExpectedBucketOwner?: string;
@@ -5637,29 +5738,56 @@ export interface GetBucketCorsRequest {
5637
5738
  /**
5638
5739
  * <p>Describes the default server-side encryption to apply to new objects in the bucket. If a
5639
5740
  * PUT Object request doesn't specify any server-side encryption, this default encryption will
5640
- * be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates
5641
- * an Amazon Web Services KMS key in your Amazon Web Services account the first time that you add an object encrypted
5642
- * with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more
5643
- * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html">PUT Bucket encryption</a> in
5644
- * the <i>Amazon S3 API Reference</i>.</p>
5741
+ * be applied. For more
5742
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html">PutBucketEncryption</a>.</p>
5645
5743
  * <note>
5646
- * <p>If you're specifying a customer managed KMS key, we recommend using a fully qualified
5647
- * KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the
5648
- * requester’s account. This behavior can result in data that's encrypted with a KMS key
5649
- * that belongs to the requester, and not the bucket owner.</p>
5744
+ * <ul>
5745
+ * <li>
5746
+ * <p>
5747
+ * <b>General purpose buckets</b> - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates
5748
+ * an Amazon Web Services KMS key (<code>aws/s3</code>) in your Amazon Web Services account the first time that you add an object encrypted
5749
+ * with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. </p>
5750
+ * </li>
5751
+ * <li>
5752
+ * <p>
5753
+ * <b>Directory buckets</b> - Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket.
5754
+ * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.
5755
+ * </p>
5756
+ * </li>
5757
+ * <li>
5758
+ * <p>
5759
+ * <b>Directory buckets</b> - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS.</p>
5760
+ * </li>
5761
+ * </ul>
5650
5762
  * </note>
5651
5763
  * @public
5652
5764
  */
5653
5765
  export interface ServerSideEncryptionByDefault {
5654
5766
  /**
5655
5767
  * <p>Server-side encryption algorithm to use for the default encryption.</p>
5768
+ * <note>
5769
+ * <p>For directory buckets, there are only two supported values for server-side encryption: <code>AES256</code> and <code>aws:kms</code>.</p>
5770
+ * </note>
5656
5771
  * @public
5657
5772
  */
5658
5773
  SSEAlgorithm: ServerSideEncryption | undefined;
5659
5774
  /**
5660
- * <p>Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default
5661
- * encryption. This parameter is allowed if and only if <code>SSEAlgorithm</code> is set to
5662
- * <code>aws:kms</code> or <code>aws:kms:dsse</code>.</p>
5775
+ * <p>Amazon Web Services Key Management Service (KMS) customer managed key ID to use for the default
5776
+ * encryption. </p>
5777
+ * <note>
5778
+ * <ul>
5779
+ * <li>
5780
+ * <p>
5781
+ * <b>General purpose buckets</b> - This parameter is allowed if and only if <code>SSEAlgorithm</code> is set to
5782
+ * <code>aws:kms</code> or <code>aws:kms:dsse</code>.</p>
5783
+ * </li>
5784
+ * <li>
5785
+ * <p>
5786
+ * <b>Directory buckets</b> - This parameter is allowed if and only if <code>SSEAlgorithm</code> is set to
5787
+ * <code>aws:kms</code>.</p>
5788
+ * </li>
5789
+ * </ul>
5790
+ * </note>
5663
5791
  * <p>You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS
5664
5792
  * key.</p>
5665
5793
  * <ul>
@@ -5676,10 +5804,25 @@ export interface ServerSideEncryptionByDefault {
5676
5804
  * </p>
5677
5805
  * </li>
5678
5806
  * </ul>
5679
- * <p>If you use a key ID, you can run into a LogDestination undeliverable error when creating
5680
- * a VPC flow log. </p>
5681
- * <p>If you are using encryption with cross-account or Amazon Web Services service operations you must use
5807
+ * <p>If you are using encryption with cross-account or Amazon Web Services service operations, you must use
5682
5808
  * a fully qualified KMS key ARN. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy">Using encryption for cross-account operations</a>.</p>
5809
+ * <note>
5810
+ * <ul>
5811
+ * <li>
5812
+ * <p>
5813
+ * <b>General purpose buckets</b> - If you're specifying a customer managed KMS key, we recommend using a fully qualified
5814
+ * KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the
5815
+ * requester’s account. This behavior can result in data that's encrypted with a KMS key
5816
+ * that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating
5817
+ * a VPC flow log.
5818
+ * </p>
5819
+ * </li>
5820
+ * <li>
5821
+ * <p>
5822
+ * <b>Directory buckets</b> - When you specify an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">KMS customer managed key</a> for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.</p>
5823
+ * </li>
5824
+ * </ul>
5825
+ * </note>
5683
5826
  * <important>
5684
5827
  * <p>Amazon S3 only supports symmetric encryption KMS keys. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric keys in Amazon Web Services KMS</a> in the <i>Amazon Web Services Key Management Service
5685
5828
  * Developer Guide</i>.</p>
@@ -5691,10 +5834,19 @@ export interface ServerSideEncryptionByDefault {
5691
5834
  /**
5692
5835
  * <p>Specifies the default server-side encryption configuration.</p>
5693
5836
  * <note>
5694
- * <p>If you're specifying a customer managed KMS key, we recommend using a fully qualified
5695
- * KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the
5696
- * requester’s account. This behavior can result in data that's encrypted with a KMS key
5697
- * that belongs to the requester, and not the bucket owner.</p>
5837
+ * <ul>
5838
+ * <li>
5839
+ * <p>
5840
+ * <b>General purpose buckets</b> - If you're specifying a customer managed KMS key, we recommend using a fully qualified
5841
+ * KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the
5842
+ * requester’s account. This behavior can result in data that's encrypted with a KMS key
5843
+ * that belongs to the requester, and not the bucket owner.</p>
5844
+ * </li>
5845
+ * <li>
5846
+ * <p>
5847
+ * <b>Directory buckets</b> - When you specify an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">KMS customer managed key</a> for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.</p>
5848
+ * </li>
5849
+ * </ul>
5698
5850
  * </note>
5699
5851
  * @public
5700
5852
  */
@@ -5710,9 +5862,22 @@ export interface ServerSideEncryptionRule {
5710
5862
  * <p>Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS
5711
5863
  * (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the
5712
5864
  * <code>BucketKeyEnabled</code> element to <code>true</code> causes Amazon S3 to use an S3
5713
- * Bucket Key. By default, S3 Bucket Key is not enabled.</p>
5714
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 Bucket Keys</a> in the
5715
- * <i>Amazon S3 User Guide</i>.</p>
5865
+ * Bucket Key. </p>
5866
+ * <note>
5867
+ * <ul>
5868
+ * <li>
5869
+ * <p>
5870
+ * <b>General purpose buckets</b> - By default, S3 Bucket Key is not enabled. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 Bucket Keys</a> in the
5871
+ * <i>Amazon S3 User Guide</i>.</p>
5872
+ * </li>
5873
+ * <li>
5874
+ * <p>
5875
+ * <b>Directory buckets</b> - S3 Bucket Keys are always enabled for <code>GET</code> and <code>PUT</code> operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets
5876
+ * to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops">the Copy operation in Batch Operations</a>, or
5877
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job">the import jobs</a>. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.</p>
5878
+ * </li>
5879
+ * </ul>
5880
+ * </note>
5716
5881
  * @public
5717
5882
  */
5718
5883
  BucketKeyEnabled?: boolean;
@@ -5746,6 +5911,12 @@ export interface GetBucketEncryptionRequest {
5746
5911
  /**
5747
5912
  * <p>The name of the bucket from which the server-side encryption configuration is
5748
5913
  * retrieved.</p>
5914
+ * <p>
5915
+ * <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>
5916
+ * </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>
5917
+ * <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for example, <code>
5918
+ * <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>
5919
+ * </p>
5749
5920
  * <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.
5750
5921
  * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
5751
5922
  * @public
@@ -5753,6 +5924,10 @@ export interface GetBucketEncryptionRequest {
5753
5924
  Bucket: string | undefined;
5754
5925
  /**
5755
5926
  * <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>
5927
+ * <note>
5928
+ * <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
5929
+ * <code>501 Not Implemented</code>.</p>
5930
+ * </note>
5756
5931
  * @public
5757
5932
  */
5758
5933
  ExpectedBucketOwner?: string;
@@ -7496,9 +7671,11 @@ export declare const ExistingObjectReplicationStatus: {
7496
7671
  */
7497
7672
  export type ExistingObjectReplicationStatus = (typeof ExistingObjectReplicationStatus)[keyof typeof ExistingObjectReplicationStatus];
7498
7673
  /**
7499
- * <p>Optional configuration to replicate existing source bucket objects. For more
7500
- * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication">Replicating Existing Objects</a> in the <i>Amazon S3 User Guide</i>.
7674
+ * <p>Optional configuration to replicate existing source bucket objects.
7501
7675
  * </p>
7676
+ * <note>
7677
+ * <p>This parameter is no longer supported. To replicate existing objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html">Replicating existing objects with S3 Batch Replication</a> in the <i>Amazon S3 User Guide</i>.</p>
7678
+ * </note>
7502
7679
  * @public
7503
7680
  */
7504
7681
  export interface ExistingObjectReplication {
@@ -7769,9 +7946,11 @@ export interface ReplicationRule {
7769
7946
  */
7770
7947
  SourceSelectionCriteria?: SourceSelectionCriteria;
7771
7948
  /**
7772
- * <p>Optional configuration to replicate existing source bucket objects. For more
7773
- * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication">Replicating Existing Objects</a> in the <i>Amazon S3 User Guide</i>.
7949
+ * <p>Optional configuration to replicate existing source bucket objects.
7774
7950
  * </p>
7951
+ * <note>
7952
+ * <p>This parameter is no longer supported. To replicate existing objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html">Replicating existing objects with S3 Batch Replication</a> in the <i>Amazon S3 User Guide</i>.</p>
7953
+ * </note>
7775
7954
  * @public
7776
7955
  */
7777
7956
  ExistingObjectReplication?: ExistingObjectReplication;
@@ -8375,11 +8554,7 @@ export interface GetObjectOutput {
8375
8554
  */
8376
8555
  WebsiteRedirectLocation?: string;
8377
8556
  /**
8378
- * <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example,
8379
- * <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
8380
- * <note>
8381
- * <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
8382
- * </note>
8557
+ * <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
8383
8558
  * @public
8384
8559
  */
8385
8560
  ServerSideEncryption?: ServerSideEncryption;
@@ -8408,20 +8583,13 @@ export interface GetObjectOutput {
8408
8583
  */
8409
8584
  SSECustomerKeyMD5?: string;
8410
8585
  /**
8411
- * <p>If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key
8412
- * that was used for the object.</p>
8413
- * <note>
8414
- * <p>This functionality is not supported for directory buckets.</p>
8415
- * </note>
8586
+ * <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
8416
8587
  * @public
8417
8588
  */
8418
8589
  SSEKMSKeyId?: string;
8419
8590
  /**
8420
8591
  * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption
8421
8592
  * with Key Management Service (KMS) keys (SSE-KMS).</p>
8422
- * <note>
8423
- * <p>This functionality is not supported for directory buckets.</p>
8424
- * </note>
8425
8593
  * @public
8426
8594
  */
8427
8595
  BucketKeyEnabled?: boolean;
@@ -8766,7 +8934,8 @@ export interface GetObjectRequest {
8766
8934
  ExpectedBucketOwner?: string;
8767
8935
  /**
8768
8936
  * <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
8937
+ * <p>
8938
+ * <b>General purpose buckets</b> - In addition, if you enable checksum mode and the object is uploaded with a
8770
8939
  * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html">checksum</a>
8771
8940
  * and encrypted with an Key Management Service (KMS) key, you must have permission to use the
8772
8941
  * <code>kms:Decrypt</code> action to retrieve the checksum.</p>
@@ -9934,9 +10103,6 @@ export interface HeadObjectOutput {
9934
10103
  /**
9935
10104
  * <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example,
9936
10105
  * <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
9937
- * <note>
9938
- * <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
9939
- * </note>
9940
10106
  * @public
9941
10107
  */
9942
10108
  ServerSideEncryption?: ServerSideEncryption;
@@ -9965,20 +10131,13 @@ export interface HeadObjectOutput {
9965
10131
  */
9966
10132
  SSECustomerKeyMD5?: string;
9967
10133
  /**
9968
- * <p>If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key
9969
- * that was used for the object.</p>
9970
- * <note>
9971
- * <p>This functionality is not supported for directory buckets.</p>
9972
- * </note>
10134
+ * <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
9973
10135
  * @public
9974
10136
  */
9975
10137
  SSEKMSKeyId?: string;
9976
10138
  /**
9977
10139
  * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption
9978
10140
  * with Key Management Service (KMS) keys (SSE-KMS).</p>
9979
- * <note>
9980
- * <p>This functionality is not supported for directory buckets.</p>
9981
- * </note>
9982
10141
  * @public
9983
10142
  */
9984
10143
  BucketKeyEnabled?: boolean;
@@ -10309,10 +10468,15 @@ export interface HeadObjectRequest {
10309
10468
  ExpectedBucketOwner?: string;
10310
10469
  /**
10311
10470
  * <p>To retrieve the checksum, this parameter must be enabled.</p>
10312
- * <p>In addition, if you enable checksum mode and the object is uploaded with a
10471
+ * <p>
10472
+ * <b>General purpose buckets</b> - If you enable checksum mode and the object is uploaded with a
10313
10473
  * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html">checksum</a>
10314
10474
  * and encrypted with an Key Management Service (KMS) key, you must have permission to use the
10315
10475
  * <code>kms:Decrypt</code> action to retrieve the checksum.</p>
10476
+ * <p>
10477
+ * <b>Directory buckets</b> - If you enable <code>ChecksumMode</code> and the object is encrypted with
10478
+ * Amazon Web Services Key Management Service (Amazon Web Services KMS), you must also have the
10479
+ * <code>kms:GenerateDataKey</code> and <code>kms:Decrypt</code> permissions in IAM identity-based policies and KMS key policies for the KMS key to retrieve the checksum of the object.</p>
10316
10480
  * @public
10317
10481
  */
10318
10482
  ChecksumMode?: ChecksumMode;
@@ -12358,12 +12522,13 @@ export interface PutBucketCorsRequest {
12358
12522
  export interface PutBucketEncryptionRequest {
12359
12523
  /**
12360
12524
  * <p>Specifies default encryption for a bucket using server-side encryption with different
12361
- * key options. By default, all buckets have a default encryption configuration that uses
12362
- * server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure
12363
- * default encryption for a bucket by using server-side encryption with an Amazon Web Services KMS key
12364
- * (SSE-KMS) or a customer-provided key (SSE-C). For information about the bucket default
12365
- * encryption feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon S3 Bucket Default Encryption</a>
12366
- * in the <i>Amazon S3 User Guide</i>.</p>
12525
+ * key options.</p>
12526
+ * <p>
12527
+ * <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>
12528
+ * </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>
12529
+ * <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for example, <code>
12530
+ * <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>
12531
+ * </p>
12367
12532
  * <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.
12368
12533
  * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
12369
12534
  * @public
@@ -12373,6 +12538,9 @@ export interface PutBucketEncryptionRequest {
12373
12538
  * <p>The base64-encoded 128-bit MD5 digest of the server-side encryption
12374
12539
  * configuration.</p>
12375
12540
  * <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p>
12541
+ * <note>
12542
+ * <p>This functionality is not supported for directory buckets.</p>
12543
+ * </note>
12376
12544
  * @public
12377
12545
  */
12378
12546
  ContentMD5?: string;
@@ -12384,6 +12552,9 @@ export interface PutBucketEncryptionRequest {
12384
12552
  * the <i>Amazon S3 User Guide</i>.</p>
12385
12553
  * <p>If you provide an individual checksum, Amazon S3 ignores any provided
12386
12554
  * <code>ChecksumAlgorithm</code> parameter.</p>
12555
+ * <note>
12556
+ * <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>
12557
+ * </note>
12387
12558
  * @public
12388
12559
  */
12389
12560
  ChecksumAlgorithm?: ChecksumAlgorithm;
@@ -12394,6 +12565,10 @@ export interface PutBucketEncryptionRequest {
12394
12565
  ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration | undefined;
12395
12566
  /**
12396
12567
  * <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>
12568
+ * <note>
12569
+ * <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
12570
+ * <code>501 Not Implemented</code>.</p>
12571
+ * </note>
12397
12572
  * @public
12398
12573
  */
12399
12574
  ExpectedBucketOwner?: string;
@@ -12663,6 +12838,10 @@ export declare const SessionCredentialsFilterSensitiveLog: (obj: SessionCredenti
12663
12838
  * @internal
12664
12839
  */
12665
12840
  export declare const CreateSessionOutputFilterSensitiveLog: (obj: CreateSessionOutput) => any;
12841
+ /**
12842
+ * @internal
12843
+ */
12844
+ export declare const CreateSessionRequestFilterSensitiveLog: (obj: CreateSessionRequest) => any;
12666
12845
  /**
12667
12846
  * @internal
12668
12847
  */