@aws-sdk/client-s3 3.975.0 → 3.980.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.
@@ -7,7 +7,8 @@ const _ACLn = "AnalyticsConfigurationList";
7
7
  const _ACP = "AccessControlPolicy";
8
8
  const _ACT = "AccessControlTranslation";
9
9
  const _ACn = "AnalyticsConfiguration";
10
- const _AD = "AbortDate";
10
+ const _AD = "AccessDenied";
11
+ const _ADb = "AbortDate";
11
12
  const _AED = "AnalyticsExportDestination";
12
13
  const _AF = "AnalyticsFilter";
13
14
  const _AH = "AllowedHeaders";
@@ -424,6 +425,7 @@ const _KI = "KeyId";
424
425
  const _KKA = "KmsKeyArn";
425
426
  const _KM = "KeyMarker";
426
427
  const _KMSC = "KMSContext";
428
+ const _KMSKA = "KMSKeyArn";
427
429
  const _KMSKI = "KMSKeyId";
428
430
  const _KMSMKID = "KMSMasterKeyID";
429
431
  const _KPE = "KeyPrefixEquals";
@@ -522,6 +524,7 @@ const _NC = "NotificationConfiguration";
522
524
  const _NCF = "NotificationConfigurationFilter";
523
525
  const _NCT = "NextContinuationToken";
524
526
  const _ND = "NoncurrentDays";
527
+ const _NEKKAS = "NonEmptyKmsKeyArnString";
525
528
  const _NF = "NotFound";
526
529
  const _NKM = "NextKeyMarker";
527
530
  const _NM = "NextMarker";
@@ -542,6 +545,7 @@ const _OAIATE = "ObjectAlreadyInActiveTierError";
542
545
  const _OC = "OwnershipControls";
543
546
  const _OCR = "OwnershipControlsRule";
544
547
  const _OCRw = "OwnershipControlsRules";
548
+ const _OE = "ObjectEncryption";
545
549
  const _OF = "OptionalFields";
546
550
  const _OI = "ObjectIdentifier";
547
551
  const _OIL = "ObjectIdentifierList";
@@ -751,6 +755,7 @@ const _SSECA = "SSECustomerAlgorithm";
751
755
  const _SSECK = "SSECustomerKey";
752
756
  const _SSECKMD = "SSECustomerKeyMD5";
753
757
  const _SSEKMS = "SSEKMS";
758
+ const _SSEKMSE = "SSEKMSEncryption";
754
759
  const _SSEKMSEC = "SSEKMSEncryptionContext";
755
760
  const _SSEKMSKI = "SSEKMSKeyId";
756
761
  const _SSER = "ServerSideEncryptionRule";
@@ -808,6 +813,9 @@ const _UBMJTCR = "UpdateBucketMetadataJournalTableConfigurationRequest";
808
813
  const _UI = "UploadId";
809
814
  const _UIM = "UploadIdMarker";
810
815
  const _UM = "UserMetadata";
816
+ const _UOE = "UpdateObjectEncryption";
817
+ const _UOER = "UpdateObjectEncryptionRequest";
818
+ const _UOERp = "UpdateObjectEncryptionResponse";
811
819
  const _UP = "UploadPart";
812
820
  const _UPC = "UploadPartCopy";
813
821
  const _UPCO = "UploadPartCopyOutput";
@@ -1005,9 +1013,10 @@ const _xawrl = "x-amz-website-redirect-location";
1005
1013
  const _xs = "xsi:type";
1006
1014
  const n0 = "com.amazonaws.s3";
1007
1015
  import { TypeRegistry } from "@smithy/core/schema";
1008
- import { BucketAlreadyExists, BucketAlreadyOwnedByYou, EncryptionTypeMismatch, IdempotencyParameterMismatch, InvalidObjectState, InvalidRequest, InvalidWriteOffset, NoSuchBucket, NoSuchKey, NoSuchUpload, NotFound, ObjectAlreadyInActiveTierError, ObjectNotInActiveTierError, TooManyParts, } from "../models/errors";
1016
+ import { AccessDenied, BucketAlreadyExists, BucketAlreadyOwnedByYou, EncryptionTypeMismatch, IdempotencyParameterMismatch, InvalidObjectState, InvalidRequest, InvalidWriteOffset, NoSuchBucket, NoSuchKey, NoSuchUpload, NotFound, ObjectAlreadyInActiveTierError, ObjectNotInActiveTierError, TooManyParts, } from "../models/errors";
1009
1017
  import { S3ServiceException } from "../models/S3ServiceException";
1010
1018
  var CopySourceSSECustomerKey = [0, n0, _CSSSECK, 8, 0];
1019
+ var NonEmptyKmsKeyArnString = [0, n0, _NEKKAS, 8, 0];
1011
1020
  var SessionCredentialValue = [0, n0, _SCV, 8, 0];
1012
1021
  var SSECustomerKey = [0, n0, _SSECK, 8, 0];
1013
1022
  var SSEKMSEncryptionContext = [0, n0, _SSEKMSEC, 8, 0];
@@ -1048,6 +1057,12 @@ export var AccessControlTranslation$ = [3, n0, _ACT,
1048
1057
  [_O],
1049
1058
  [0], 1
1050
1059
  ];
1060
+ export var AccessDenied$ = [-3, n0, _AD,
1061
+ { [_e]: _c, [_hE]: 403 },
1062
+ [],
1063
+ []
1064
+ ];
1065
+ TypeRegistry.for(n0).registerError(AccessDenied$, AccessDenied);
1051
1066
  export var AnalyticsAndOperator$ = [3, n0, _AAO,
1052
1067
  0,
1053
1068
  [_P, _T],
@@ -1202,7 +1217,7 @@ export var CreateBucketRequest$ = [3, n0, _CBR,
1202
1217
  ];
1203
1218
  export var CreateMultipartUploadOutput$ = [3, n0, _CMUOr,
1204
1219
  { [_xN]: _IMUR },
1205
- [_AD, _ARI, _B, _K, _UI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC, _CA, _CT],
1220
+ [_ADb, _ARI, _B, _K, _UI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC, _CA, _CT],
1206
1221
  [[4, { [_hH]: _xaad }], [0, { [_hH]: _xaari }], [0, { [_xN]: _B }], 0, 0, [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xaca }], [0, { [_hH]: _xact }]]
1207
1222
  ];
1208
1223
  export var CreateMultipartUploadRequest$ = [3, n0, _CMURr,
@@ -2042,7 +2057,7 @@ export var ListObjectVersionsRequest$ = [3, n0, _LOVRi,
2042
2057
  ];
2043
2058
  export var ListPartsOutput$ = [3, n0, _LPO,
2044
2059
  { [_xN]: _LPR },
2045
- [_AD, _ARI, _B, _K, _UI, _PNM, _NPNM, _MP, _IT, _Pa, _In, _O, _SC, _RC, _CA, _CT],
2060
+ [_ADb, _ARI, _B, _K, _UI, _PNM, _NPNM, _MP, _IT, _Pa, _In, _O, _SC, _RC, _CA, _CT],
2046
2061
  [[4, { [_hH]: _xaad }], [0, { [_hH]: _xaari }], 0, 0, 0, 0, 0, 1, 2, [() => Parts, { [_xF]: 1, [_xN]: _Par }], () => Initiator$, () => Owner$, 0, [0, { [_hH]: _xarc }], 0, 0]
2047
2062
  ];
2048
2063
  export var ListPartsRequest$ = [3, n0, _LPRi,
@@ -2616,6 +2631,11 @@ export var SseKmsEncryptedObjects$ = [3, n0, _SKEO,
2616
2631
  [_S],
2617
2632
  [0], 1
2618
2633
  ];
2634
+ export var SSEKMSEncryption$ = [3, n0, _SSEKMSE,
2635
+ { [_xN]: _SK },
2636
+ [_KMSKA, _BKE],
2637
+ [[() => NonEmptyKmsKeyArnString, 0], 2], 1
2638
+ ];
2619
2639
  export var SSES3$ = [3, n0, _SSES,
2620
2640
  { [_xN]: _SS },
2621
2641
  [],
@@ -2692,6 +2712,16 @@ export var UpdateBucketMetadataJournalTableConfigurationRequest$ = [3, n0, _UBMJ
2692
2712
  [_B, _JTC, _CMD, _CA, _EBO],
2693
2713
  [[0, 1], [() => JournalTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _JTC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2
2694
2714
  ];
2715
+ export var UpdateObjectEncryptionRequest$ = [3, n0, _UOER,
2716
+ 0,
2717
+ [_B, _K, _OE, _VI, _RP, _EBO, _CMD, _CA],
2718
+ [[0, 1], [0, 1], [() => ObjectEncryption$, 16], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }]], 3
2719
+ ];
2720
+ export var UpdateObjectEncryptionResponse$ = [3, n0, _UOERp,
2721
+ 0,
2722
+ [_RC],
2723
+ [[0, { [_hH]: _xarc }]]
2724
+ ];
2695
2725
  export var UploadPartCopyOutput$ = [3, n0, _UPCO,
2696
2726
  0,
2697
2727
  [_CSVI, _CPR, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC],
@@ -2875,6 +2905,11 @@ export var MetricsFilter$ = [4, n0, _MF,
2875
2905
  [_P, _Ta, _APAc, _An],
2876
2906
  [0, () => Tag$, 0, [() => MetricsAndOperator$, 0]]
2877
2907
  ];
2908
+ export var ObjectEncryption$ = [4, n0, _OE,
2909
+ 0,
2910
+ [_SSEKMS],
2911
+ [[() => SSEKMSEncryption$, { [_xN]: _SK }]]
2912
+ ];
2878
2913
  export var SelectObjectContentEventStream$ = [4, n0, _SOCES,
2879
2914
  { [_s]: 1 },
2880
2915
  [_Rec, _Sta, _Pr, _Cont, _End],
@@ -3189,6 +3224,9 @@ export var UpdateBucketMetadataInventoryTableConfiguration$ = [9, n0, _UBMITC,
3189
3224
  export var UpdateBucketMetadataJournalTableConfiguration$ = [9, n0, _UBMJTC,
3190
3225
  { [_hC]: "-", [_h]: ["PUT", "/?metadataJournalTable", 200] }, () => UpdateBucketMetadataJournalTableConfigurationRequest$, () => __Unit
3191
3226
  ];
3227
+ export var UpdateObjectEncryption$ = [9, n0, _UOE,
3228
+ { [_hC]: "-", [_h]: ["PUT", "/{Key+}?encryption", 200] }, () => UpdateObjectEncryptionRequest$, () => UpdateObjectEncryptionResponse$
3229
+ ];
3192
3230
  export var UploadPart$ = [9, n0, _UP,
3193
3231
  { [_hC]: "-", [_h]: ["PUT", "/{Key+}?x-id=UploadPart", 200] }, () => UploadPartRequest$, () => UploadPartOutput$
3194
3232
  ];
@@ -1,4 +1,5 @@
1
- import type { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
1
+ import type { HttpHandlerOptions as __HttpHandlerOptions, PaginationConfiguration, Paginator, WaiterConfiguration } from "@smithy/types";
2
+ import type { WaiterResult } from "@smithy/util-waiter";
2
3
  import { AbortMultipartUploadCommandInput, AbortMultipartUploadCommandOutput } from "./commands/AbortMultipartUploadCommand";
3
4
  import { CompleteMultipartUploadCommandInput, CompleteMultipartUploadCommandOutput } from "./commands/CompleteMultipartUploadCommand";
4
5
  import { CopyObjectCommandInput, CopyObjectCommandOutput } from "./commands/CopyObjectCommand";
@@ -102,6 +103,7 @@ import { RestoreObjectCommandInput, RestoreObjectCommandOutput } from "./command
102
103
  import { SelectObjectContentCommandInput, SelectObjectContentCommandOutput } from "./commands/SelectObjectContentCommand";
103
104
  import { UpdateBucketMetadataInventoryTableConfigurationCommandInput, UpdateBucketMetadataInventoryTableConfigurationCommandOutput } from "./commands/UpdateBucketMetadataInventoryTableConfigurationCommand";
104
105
  import { UpdateBucketMetadataJournalTableConfigurationCommandInput, UpdateBucketMetadataJournalTableConfigurationCommandOutput } from "./commands/UpdateBucketMetadataJournalTableConfigurationCommand";
106
+ import { UpdateObjectEncryptionCommandInput, UpdateObjectEncryptionCommandOutput } from "./commands/UpdateObjectEncryptionCommand";
105
107
  import { UploadPartCommandInput, UploadPartCommandOutput } from "./commands/UploadPartCommand";
106
108
  import { UploadPartCopyCommandInput, UploadPartCopyCommandOutput } from "./commands/UploadPartCopyCommand";
107
109
  import { WriteGetObjectResponseCommandInput, WriteGetObjectResponseCommandOutput } from "./commands/WriteGetObjectResponseCommand";
@@ -727,6 +729,12 @@ export interface S3 {
727
729
  updateBucketMetadataJournalTableConfiguration(args: UpdateBucketMetadataJournalTableConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<UpdateBucketMetadataJournalTableConfigurationCommandOutput>;
728
730
  updateBucketMetadataJournalTableConfiguration(args: UpdateBucketMetadataJournalTableConfigurationCommandInput, cb: (err: any, data?: UpdateBucketMetadataJournalTableConfigurationCommandOutput) => void): void;
729
731
  updateBucketMetadataJournalTableConfiguration(args: UpdateBucketMetadataJournalTableConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateBucketMetadataJournalTableConfigurationCommandOutput) => void): void;
732
+ /**
733
+ * @see {@link UpdateObjectEncryptionCommand}
734
+ */
735
+ updateObjectEncryption(args: UpdateObjectEncryptionCommandInput, options?: __HttpHandlerOptions): Promise<UpdateObjectEncryptionCommandOutput>;
736
+ updateObjectEncryption(args: UpdateObjectEncryptionCommandInput, cb: (err: any, data?: UpdateObjectEncryptionCommandOutput) => void): void;
737
+ updateObjectEncryption(args: UpdateObjectEncryptionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateObjectEncryptionCommandOutput) => void): void;
730
738
  /**
731
739
  * @see {@link UploadPartCommand}
732
740
  */
@@ -745,6 +753,58 @@ export interface S3 {
745
753
  writeGetObjectResponse(args: WriteGetObjectResponseCommandInput, options?: __HttpHandlerOptions): Promise<WriteGetObjectResponseCommandOutput>;
746
754
  writeGetObjectResponse(args: WriteGetObjectResponseCommandInput, cb: (err: any, data?: WriteGetObjectResponseCommandOutput) => void): void;
747
755
  writeGetObjectResponse(args: WriteGetObjectResponseCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: WriteGetObjectResponseCommandOutput) => void): void;
756
+ /**
757
+ * @see {@link ListBucketsCommand}
758
+ * @param args - command input.
759
+ * @param paginationConfig - optional pagination config.
760
+ * @returns AsyncIterable of {@link ListBucketsCommandOutput}.
761
+ */
762
+ paginateListBuckets(args?: ListBucketsCommandInput, paginationConfig?: Omit<PaginationConfiguration, "client">): Paginator<ListBucketsCommandOutput>;
763
+ /**
764
+ * @see {@link ListDirectoryBucketsCommand}
765
+ * @param args - command input.
766
+ * @param paginationConfig - optional pagination config.
767
+ * @returns AsyncIterable of {@link ListDirectoryBucketsCommandOutput}.
768
+ */
769
+ paginateListDirectoryBuckets(args?: ListDirectoryBucketsCommandInput, paginationConfig?: Omit<PaginationConfiguration, "client">): Paginator<ListDirectoryBucketsCommandOutput>;
770
+ /**
771
+ * @see {@link ListObjectsV2Command}
772
+ * @param args - command input.
773
+ * @param paginationConfig - optional pagination config.
774
+ * @returns AsyncIterable of {@link ListObjectsV2CommandOutput}.
775
+ */
776
+ paginateListObjectsV2(args: ListObjectsV2CommandInput, paginationConfig?: Omit<PaginationConfiguration, "client">): Paginator<ListObjectsV2CommandOutput>;
777
+ /**
778
+ * @see {@link ListPartsCommand}
779
+ * @param args - command input.
780
+ * @param paginationConfig - optional pagination config.
781
+ * @returns AsyncIterable of {@link ListPartsCommandOutput}.
782
+ */
783
+ paginateListParts(args: ListPartsCommandInput, paginationConfig?: Omit<PaginationConfiguration, "client">): Paginator<ListPartsCommandOutput>;
784
+ /**
785
+ * @see {@link HeadBucketCommand}
786
+ * @param args - command input.
787
+ * @param waiterConfig - `maxWaitTime` in seconds or waiter config object.
788
+ */
789
+ waitUntilBucketExists(args: HeadBucketCommandInput, waiterConfig: number | Omit<WaiterConfiguration<S3>, "client">): Promise<WaiterResult>;
790
+ /**
791
+ * @see {@link HeadBucketCommand}
792
+ * @param args - command input.
793
+ * @param waiterConfig - `maxWaitTime` in seconds or waiter config object.
794
+ */
795
+ waitUntilBucketNotExists(args: HeadBucketCommandInput, waiterConfig: number | Omit<WaiterConfiguration<S3>, "client">): Promise<WaiterResult>;
796
+ /**
797
+ * @see {@link HeadObjectCommand}
798
+ * @param args - command input.
799
+ * @param waiterConfig - `maxWaitTime` in seconds or waiter config object.
800
+ */
801
+ waitUntilObjectExists(args: HeadObjectCommandInput, waiterConfig: number | Omit<WaiterConfiguration<S3>, "client">): Promise<WaiterResult>;
802
+ /**
803
+ * @see {@link HeadObjectCommand}
804
+ * @param args - command input.
805
+ * @param waiterConfig - `maxWaitTime` in seconds or waiter config object.
806
+ */
807
+ waitUntilObjectNotExists(args: HeadObjectCommandInput, waiterConfig: number | Omit<WaiterConfiguration<S3>, "client">): Promise<WaiterResult>;
748
808
  }
749
809
  /**
750
810
  * <p></p>
@@ -115,6 +115,7 @@ import { RestoreObjectCommandInput, RestoreObjectCommandOutput } from "./command
115
115
  import { SelectObjectContentCommandInput, SelectObjectContentCommandOutput } from "./commands/SelectObjectContentCommand";
116
116
  import { UpdateBucketMetadataInventoryTableConfigurationCommandInput, UpdateBucketMetadataInventoryTableConfigurationCommandOutput } from "./commands/UpdateBucketMetadataInventoryTableConfigurationCommand";
117
117
  import { UpdateBucketMetadataJournalTableConfigurationCommandInput, UpdateBucketMetadataJournalTableConfigurationCommandOutput } from "./commands/UpdateBucketMetadataJournalTableConfigurationCommand";
118
+ import { UpdateObjectEncryptionCommandInput, UpdateObjectEncryptionCommandOutput } from "./commands/UpdateObjectEncryptionCommand";
118
119
  import { UploadPartCommandInput, UploadPartCommandOutput } from "./commands/UploadPartCommand";
119
120
  import { UploadPartCopyCommandInput, UploadPartCopyCommandOutput } from "./commands/UploadPartCopyCommand";
120
121
  import { WriteGetObjectResponseCommandInput, WriteGetObjectResponseCommandOutput } from "./commands/WriteGetObjectResponseCommand";
@@ -124,11 +125,11 @@ export { __Client };
124
125
  /**
125
126
  * @public
126
127
  */
127
- export type ServiceInputTypes = AbortMultipartUploadCommandInput | CompleteMultipartUploadCommandInput | CopyObjectCommandInput | CreateBucketCommandInput | CreateBucketMetadataConfigurationCommandInput | CreateBucketMetadataTableConfigurationCommandInput | CreateMultipartUploadCommandInput | CreateSessionCommandInput | DeleteBucketAnalyticsConfigurationCommandInput | DeleteBucketCommandInput | DeleteBucketCorsCommandInput | DeleteBucketEncryptionCommandInput | DeleteBucketIntelligentTieringConfigurationCommandInput | DeleteBucketInventoryConfigurationCommandInput | DeleteBucketLifecycleCommandInput | DeleteBucketMetadataConfigurationCommandInput | DeleteBucketMetadataTableConfigurationCommandInput | DeleteBucketMetricsConfigurationCommandInput | DeleteBucketOwnershipControlsCommandInput | DeleteBucketPolicyCommandInput | DeleteBucketReplicationCommandInput | DeleteBucketTaggingCommandInput | DeleteBucketWebsiteCommandInput | DeleteObjectCommandInput | DeleteObjectTaggingCommandInput | DeleteObjectsCommandInput | DeletePublicAccessBlockCommandInput | GetBucketAbacCommandInput | GetBucketAccelerateConfigurationCommandInput | GetBucketAclCommandInput | GetBucketAnalyticsConfigurationCommandInput | GetBucketCorsCommandInput | GetBucketEncryptionCommandInput | GetBucketIntelligentTieringConfigurationCommandInput | GetBucketInventoryConfigurationCommandInput | GetBucketLifecycleConfigurationCommandInput | GetBucketLocationCommandInput | GetBucketLoggingCommandInput | GetBucketMetadataConfigurationCommandInput | GetBucketMetadataTableConfigurationCommandInput | GetBucketMetricsConfigurationCommandInput | GetBucketNotificationConfigurationCommandInput | GetBucketOwnershipControlsCommandInput | GetBucketPolicyCommandInput | GetBucketPolicyStatusCommandInput | GetBucketReplicationCommandInput | GetBucketRequestPaymentCommandInput | GetBucketTaggingCommandInput | GetBucketVersioningCommandInput | GetBucketWebsiteCommandInput | GetObjectAclCommandInput | GetObjectAttributesCommandInput | GetObjectCommandInput | GetObjectLegalHoldCommandInput | GetObjectLockConfigurationCommandInput | GetObjectRetentionCommandInput | GetObjectTaggingCommandInput | GetObjectTorrentCommandInput | GetPublicAccessBlockCommandInput | HeadBucketCommandInput | HeadObjectCommandInput | ListBucketAnalyticsConfigurationsCommandInput | ListBucketIntelligentTieringConfigurationsCommandInput | ListBucketInventoryConfigurationsCommandInput | ListBucketMetricsConfigurationsCommandInput | ListBucketsCommandInput | ListDirectoryBucketsCommandInput | ListMultipartUploadsCommandInput | ListObjectVersionsCommandInput | ListObjectsCommandInput | ListObjectsV2CommandInput | ListPartsCommandInput | PutBucketAbacCommandInput | PutBucketAccelerateConfigurationCommandInput | PutBucketAclCommandInput | PutBucketAnalyticsConfigurationCommandInput | PutBucketCorsCommandInput | PutBucketEncryptionCommandInput | PutBucketIntelligentTieringConfigurationCommandInput | PutBucketInventoryConfigurationCommandInput | PutBucketLifecycleConfigurationCommandInput | PutBucketLoggingCommandInput | PutBucketMetricsConfigurationCommandInput | PutBucketNotificationConfigurationCommandInput | PutBucketOwnershipControlsCommandInput | PutBucketPolicyCommandInput | PutBucketReplicationCommandInput | PutBucketRequestPaymentCommandInput | PutBucketTaggingCommandInput | PutBucketVersioningCommandInput | PutBucketWebsiteCommandInput | PutObjectAclCommandInput | PutObjectCommandInput | PutObjectLegalHoldCommandInput | PutObjectLockConfigurationCommandInput | PutObjectRetentionCommandInput | PutObjectTaggingCommandInput | PutPublicAccessBlockCommandInput | RenameObjectCommandInput | RestoreObjectCommandInput | SelectObjectContentCommandInput | UpdateBucketMetadataInventoryTableConfigurationCommandInput | UpdateBucketMetadataJournalTableConfigurationCommandInput | UploadPartCommandInput | UploadPartCopyCommandInput | WriteGetObjectResponseCommandInput;
128
+ export type ServiceInputTypes = AbortMultipartUploadCommandInput | CompleteMultipartUploadCommandInput | CopyObjectCommandInput | CreateBucketCommandInput | CreateBucketMetadataConfigurationCommandInput | CreateBucketMetadataTableConfigurationCommandInput | CreateMultipartUploadCommandInput | CreateSessionCommandInput | DeleteBucketAnalyticsConfigurationCommandInput | DeleteBucketCommandInput | DeleteBucketCorsCommandInput | DeleteBucketEncryptionCommandInput | DeleteBucketIntelligentTieringConfigurationCommandInput | DeleteBucketInventoryConfigurationCommandInput | DeleteBucketLifecycleCommandInput | DeleteBucketMetadataConfigurationCommandInput | DeleteBucketMetadataTableConfigurationCommandInput | DeleteBucketMetricsConfigurationCommandInput | DeleteBucketOwnershipControlsCommandInput | DeleteBucketPolicyCommandInput | DeleteBucketReplicationCommandInput | DeleteBucketTaggingCommandInput | DeleteBucketWebsiteCommandInput | DeleteObjectCommandInput | DeleteObjectTaggingCommandInput | DeleteObjectsCommandInput | DeletePublicAccessBlockCommandInput | GetBucketAbacCommandInput | GetBucketAccelerateConfigurationCommandInput | GetBucketAclCommandInput | GetBucketAnalyticsConfigurationCommandInput | GetBucketCorsCommandInput | GetBucketEncryptionCommandInput | GetBucketIntelligentTieringConfigurationCommandInput | GetBucketInventoryConfigurationCommandInput | GetBucketLifecycleConfigurationCommandInput | GetBucketLocationCommandInput | GetBucketLoggingCommandInput | GetBucketMetadataConfigurationCommandInput | GetBucketMetadataTableConfigurationCommandInput | GetBucketMetricsConfigurationCommandInput | GetBucketNotificationConfigurationCommandInput | GetBucketOwnershipControlsCommandInput | GetBucketPolicyCommandInput | GetBucketPolicyStatusCommandInput | GetBucketReplicationCommandInput | GetBucketRequestPaymentCommandInput | GetBucketTaggingCommandInput | GetBucketVersioningCommandInput | GetBucketWebsiteCommandInput | GetObjectAclCommandInput | GetObjectAttributesCommandInput | GetObjectCommandInput | GetObjectLegalHoldCommandInput | GetObjectLockConfigurationCommandInput | GetObjectRetentionCommandInput | GetObjectTaggingCommandInput | GetObjectTorrentCommandInput | GetPublicAccessBlockCommandInput | HeadBucketCommandInput | HeadObjectCommandInput | ListBucketAnalyticsConfigurationsCommandInput | ListBucketIntelligentTieringConfigurationsCommandInput | ListBucketInventoryConfigurationsCommandInput | ListBucketMetricsConfigurationsCommandInput | ListBucketsCommandInput | ListDirectoryBucketsCommandInput | ListMultipartUploadsCommandInput | ListObjectVersionsCommandInput | ListObjectsCommandInput | ListObjectsV2CommandInput | ListPartsCommandInput | PutBucketAbacCommandInput | PutBucketAccelerateConfigurationCommandInput | PutBucketAclCommandInput | PutBucketAnalyticsConfigurationCommandInput | PutBucketCorsCommandInput | PutBucketEncryptionCommandInput | PutBucketIntelligentTieringConfigurationCommandInput | PutBucketInventoryConfigurationCommandInput | PutBucketLifecycleConfigurationCommandInput | PutBucketLoggingCommandInput | PutBucketMetricsConfigurationCommandInput | PutBucketNotificationConfigurationCommandInput | PutBucketOwnershipControlsCommandInput | PutBucketPolicyCommandInput | PutBucketReplicationCommandInput | PutBucketRequestPaymentCommandInput | PutBucketTaggingCommandInput | PutBucketVersioningCommandInput | PutBucketWebsiteCommandInput | PutObjectAclCommandInput | PutObjectCommandInput | PutObjectLegalHoldCommandInput | PutObjectLockConfigurationCommandInput | PutObjectRetentionCommandInput | PutObjectTaggingCommandInput | PutPublicAccessBlockCommandInput | RenameObjectCommandInput | RestoreObjectCommandInput | SelectObjectContentCommandInput | UpdateBucketMetadataInventoryTableConfigurationCommandInput | UpdateBucketMetadataJournalTableConfigurationCommandInput | UpdateObjectEncryptionCommandInput | UploadPartCommandInput | UploadPartCopyCommandInput | WriteGetObjectResponseCommandInput;
128
129
  /**
129
130
  * @public
130
131
  */
131
- export type ServiceOutputTypes = AbortMultipartUploadCommandOutput | CompleteMultipartUploadCommandOutput | CopyObjectCommandOutput | CreateBucketCommandOutput | CreateBucketMetadataConfigurationCommandOutput | CreateBucketMetadataTableConfigurationCommandOutput | CreateMultipartUploadCommandOutput | CreateSessionCommandOutput | DeleteBucketAnalyticsConfigurationCommandOutput | DeleteBucketCommandOutput | DeleteBucketCorsCommandOutput | DeleteBucketEncryptionCommandOutput | DeleteBucketIntelligentTieringConfigurationCommandOutput | DeleteBucketInventoryConfigurationCommandOutput | DeleteBucketLifecycleCommandOutput | DeleteBucketMetadataConfigurationCommandOutput | DeleteBucketMetadataTableConfigurationCommandOutput | DeleteBucketMetricsConfigurationCommandOutput | DeleteBucketOwnershipControlsCommandOutput | DeleteBucketPolicyCommandOutput | DeleteBucketReplicationCommandOutput | DeleteBucketTaggingCommandOutput | DeleteBucketWebsiteCommandOutput | DeleteObjectCommandOutput | DeleteObjectTaggingCommandOutput | DeleteObjectsCommandOutput | DeletePublicAccessBlockCommandOutput | GetBucketAbacCommandOutput | GetBucketAccelerateConfigurationCommandOutput | GetBucketAclCommandOutput | GetBucketAnalyticsConfigurationCommandOutput | GetBucketCorsCommandOutput | GetBucketEncryptionCommandOutput | GetBucketIntelligentTieringConfigurationCommandOutput | GetBucketInventoryConfigurationCommandOutput | GetBucketLifecycleConfigurationCommandOutput | GetBucketLocationCommandOutput | GetBucketLoggingCommandOutput | GetBucketMetadataConfigurationCommandOutput | GetBucketMetadataTableConfigurationCommandOutput | GetBucketMetricsConfigurationCommandOutput | GetBucketNotificationConfigurationCommandOutput | GetBucketOwnershipControlsCommandOutput | GetBucketPolicyCommandOutput | GetBucketPolicyStatusCommandOutput | GetBucketReplicationCommandOutput | GetBucketRequestPaymentCommandOutput | GetBucketTaggingCommandOutput | GetBucketVersioningCommandOutput | GetBucketWebsiteCommandOutput | GetObjectAclCommandOutput | GetObjectAttributesCommandOutput | GetObjectCommandOutput | GetObjectLegalHoldCommandOutput | GetObjectLockConfigurationCommandOutput | GetObjectRetentionCommandOutput | GetObjectTaggingCommandOutput | GetObjectTorrentCommandOutput | GetPublicAccessBlockCommandOutput | HeadBucketCommandOutput | HeadObjectCommandOutput | ListBucketAnalyticsConfigurationsCommandOutput | ListBucketIntelligentTieringConfigurationsCommandOutput | ListBucketInventoryConfigurationsCommandOutput | ListBucketMetricsConfigurationsCommandOutput | ListBucketsCommandOutput | ListDirectoryBucketsCommandOutput | ListMultipartUploadsCommandOutput | ListObjectVersionsCommandOutput | ListObjectsCommandOutput | ListObjectsV2CommandOutput | ListPartsCommandOutput | PutBucketAbacCommandOutput | PutBucketAccelerateConfigurationCommandOutput | PutBucketAclCommandOutput | PutBucketAnalyticsConfigurationCommandOutput | PutBucketCorsCommandOutput | PutBucketEncryptionCommandOutput | PutBucketIntelligentTieringConfigurationCommandOutput | PutBucketInventoryConfigurationCommandOutput | PutBucketLifecycleConfigurationCommandOutput | PutBucketLoggingCommandOutput | PutBucketMetricsConfigurationCommandOutput | PutBucketNotificationConfigurationCommandOutput | PutBucketOwnershipControlsCommandOutput | PutBucketPolicyCommandOutput | PutBucketReplicationCommandOutput | PutBucketRequestPaymentCommandOutput | PutBucketTaggingCommandOutput | PutBucketVersioningCommandOutput | PutBucketWebsiteCommandOutput | PutObjectAclCommandOutput | PutObjectCommandOutput | PutObjectLegalHoldCommandOutput | PutObjectLockConfigurationCommandOutput | PutObjectRetentionCommandOutput | PutObjectTaggingCommandOutput | PutPublicAccessBlockCommandOutput | RenameObjectCommandOutput | RestoreObjectCommandOutput | SelectObjectContentCommandOutput | UpdateBucketMetadataInventoryTableConfigurationCommandOutput | UpdateBucketMetadataJournalTableConfigurationCommandOutput | UploadPartCommandOutput | UploadPartCopyCommandOutput | WriteGetObjectResponseCommandOutput;
132
+ export type ServiceOutputTypes = AbortMultipartUploadCommandOutput | CompleteMultipartUploadCommandOutput | CopyObjectCommandOutput | CreateBucketCommandOutput | CreateBucketMetadataConfigurationCommandOutput | CreateBucketMetadataTableConfigurationCommandOutput | CreateMultipartUploadCommandOutput | CreateSessionCommandOutput | DeleteBucketAnalyticsConfigurationCommandOutput | DeleteBucketCommandOutput | DeleteBucketCorsCommandOutput | DeleteBucketEncryptionCommandOutput | DeleteBucketIntelligentTieringConfigurationCommandOutput | DeleteBucketInventoryConfigurationCommandOutput | DeleteBucketLifecycleCommandOutput | DeleteBucketMetadataConfigurationCommandOutput | DeleteBucketMetadataTableConfigurationCommandOutput | DeleteBucketMetricsConfigurationCommandOutput | DeleteBucketOwnershipControlsCommandOutput | DeleteBucketPolicyCommandOutput | DeleteBucketReplicationCommandOutput | DeleteBucketTaggingCommandOutput | DeleteBucketWebsiteCommandOutput | DeleteObjectCommandOutput | DeleteObjectTaggingCommandOutput | DeleteObjectsCommandOutput | DeletePublicAccessBlockCommandOutput | GetBucketAbacCommandOutput | GetBucketAccelerateConfigurationCommandOutput | GetBucketAclCommandOutput | GetBucketAnalyticsConfigurationCommandOutput | GetBucketCorsCommandOutput | GetBucketEncryptionCommandOutput | GetBucketIntelligentTieringConfigurationCommandOutput | GetBucketInventoryConfigurationCommandOutput | GetBucketLifecycleConfigurationCommandOutput | GetBucketLocationCommandOutput | GetBucketLoggingCommandOutput | GetBucketMetadataConfigurationCommandOutput | GetBucketMetadataTableConfigurationCommandOutput | GetBucketMetricsConfigurationCommandOutput | GetBucketNotificationConfigurationCommandOutput | GetBucketOwnershipControlsCommandOutput | GetBucketPolicyCommandOutput | GetBucketPolicyStatusCommandOutput | GetBucketReplicationCommandOutput | GetBucketRequestPaymentCommandOutput | GetBucketTaggingCommandOutput | GetBucketVersioningCommandOutput | GetBucketWebsiteCommandOutput | GetObjectAclCommandOutput | GetObjectAttributesCommandOutput | GetObjectCommandOutput | GetObjectLegalHoldCommandOutput | GetObjectLockConfigurationCommandOutput | GetObjectRetentionCommandOutput | GetObjectTaggingCommandOutput | GetObjectTorrentCommandOutput | GetPublicAccessBlockCommandOutput | HeadBucketCommandOutput | HeadObjectCommandOutput | ListBucketAnalyticsConfigurationsCommandOutput | ListBucketIntelligentTieringConfigurationsCommandOutput | ListBucketInventoryConfigurationsCommandOutput | ListBucketMetricsConfigurationsCommandOutput | ListBucketsCommandOutput | ListDirectoryBucketsCommandOutput | ListMultipartUploadsCommandOutput | ListObjectVersionsCommandOutput | ListObjectsCommandOutput | ListObjectsV2CommandOutput | ListPartsCommandOutput | PutBucketAbacCommandOutput | PutBucketAccelerateConfigurationCommandOutput | PutBucketAclCommandOutput | PutBucketAnalyticsConfigurationCommandOutput | PutBucketCorsCommandOutput | PutBucketEncryptionCommandOutput | PutBucketIntelligentTieringConfigurationCommandOutput | PutBucketInventoryConfigurationCommandOutput | PutBucketLifecycleConfigurationCommandOutput | PutBucketLoggingCommandOutput | PutBucketMetricsConfigurationCommandOutput | PutBucketNotificationConfigurationCommandOutput | PutBucketOwnershipControlsCommandOutput | PutBucketPolicyCommandOutput | PutBucketReplicationCommandOutput | PutBucketRequestPaymentCommandOutput | PutBucketTaggingCommandOutput | PutBucketVersioningCommandOutput | PutBucketWebsiteCommandOutput | PutObjectAclCommandOutput | PutObjectCommandOutput | PutObjectLegalHoldCommandOutput | PutObjectLockConfigurationCommandOutput | PutObjectRetentionCommandOutput | PutObjectTaggingCommandOutput | PutPublicAccessBlockCommandOutput | RenameObjectCommandOutput | RestoreObjectCommandOutput | SelectObjectContentCommandOutput | UpdateBucketMetadataInventoryTableConfigurationCommandOutput | UpdateBucketMetadataJournalTableConfigurationCommandOutput | UpdateObjectEncryptionCommandOutput | UploadPartCommandOutput | UploadPartCopyCommandOutput | WriteGetObjectResponseCommandOutput;
132
133
  /**
133
134
  * @public
134
135
  */
@@ -41,8 +41,6 @@ declare const PutBucketLifecycleConfigurationCommand_base: {
41
41
  * </note>
42
42
  * <dl>
43
43
  * <dt>Rules</dt>
44
- * <dt>Permissions</dt>
45
- * <dt>HTTP Host header syntax</dt>
46
44
  * <dd>
47
45
  * <p>You specify the lifecycle configuration in your request body. The lifecycle configuration is
48
46
  * specified as XML consisting of one or more rules. An Amazon S3 Lifecycle configuration can have up to
@@ -78,6 +76,7 @@ declare const PutBucketLifecycleConfigurationCommand_base: {
78
76
  * <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle
79
77
  * Configuration Elements</a>.</p>
80
78
  * </dd>
79
+ * <dt>Permissions</dt>
81
80
  * <dd>
82
81
  * <ul>
83
82
  * <li>
@@ -133,6 +132,7 @@ declare const PutBucketLifecycleConfigurationCommand_base: {
133
132
  * </li>
134
133
  * </ul>
135
134
  * </dd>
135
+ * <dt>HTTP Host header syntax</dt>
136
136
  * <dd>
137
137
  * <p>
138
138
  * <b>Directory buckets </b> - The HTTP Host header syntax is
@@ -169,6 +169,29 @@ declare const PutObjectCommand_base: {
169
169
  * <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>.</p>
170
170
  * </dd>
171
171
  * </dl>
172
+ * <dl>
173
+ * <dt>Errors</dt>
174
+ * <dd>
175
+ * <ul>
176
+ * <li>
177
+ * <p>You might receive an <code>InvalidRequest</code> error for several reasons. Depending on the reason for the error, you might receive one of the following messages:</p>
178
+ * <ul>
179
+ * <li>
180
+ * <p>Cannot specify both a write offset value and user-defined object metadata for existing
181
+ * objects.</p>
182
+ * </li>
183
+ * <li>
184
+ * <p>Checksum Type mismatch occurred, expected checksum Type: sha1, actual checksum Type:
185
+ * crc32c.</p>
186
+ * </li>
187
+ * <li>
188
+ * <p>Request body cannot be empty when 'write offset' is specified.</p>
189
+ * </li>
190
+ * </ul>
191
+ * </li>
192
+ * </ul>
193
+ * </dd>
194
+ * </dl>
172
195
  * <p>For more information about related Amazon S3 APIs, see the following:</p>
173
196
  * <ul>
174
197
  * <li>
@@ -273,21 +296,8 @@ declare const PutObjectCommand_base: {
273
296
  * include the appropriate encryption parameters in the request or while creating the session. </p>
274
297
  *
275
298
  * @throws {@link InvalidRequest} (client fault)
276
- * <p>You may receive this error in multiple cases. Depending on the reason for the error, you may receive
277
- * one of the messages below:</p>
278
- * <ul>
279
- * <li>
280
- * <p>Cannot specify both a write offset value and user-defined object metadata for existing
281
- * objects.</p>
282
- * </li>
283
- * <li>
284
- * <p>Checksum Type mismatch occurred, expected checksum Type: sha1, actual checksum Type:
285
- * crc32c.</p>
286
- * </li>
287
- * <li>
288
- * <p>Request body cannot be empty when 'write offset' is specified.</p>
289
- * </li>
290
- * </ul>
299
+ * <p>A parameter or header in your request isn't valid. For details, see the description of this API
300
+ * operation.</p>
291
301
  *
292
302
  * @throws {@link InvalidWriteOffset} (client fault)
293
303
  * <p> The write offset value that you specified does not match the current object size. </p>
@@ -0,0 +1,259 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import type { UpdateObjectEncryptionRequest, UpdateObjectEncryptionResponse } from "../models/models_1";
4
+ import type { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link UpdateObjectEncryptionCommand}.
14
+ */
15
+ export interface UpdateObjectEncryptionCommandInput extends UpdateObjectEncryptionRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link UpdateObjectEncryptionCommand}.
21
+ */
22
+ export interface UpdateObjectEncryptionCommandOutput extends UpdateObjectEncryptionResponse, __MetadataBearer {
23
+ }
24
+ declare const UpdateObjectEncryptionCommand_base: {
25
+ new (input: UpdateObjectEncryptionCommandInput): import("@smithy/smithy-client").CommandImpl<UpdateObjectEncryptionCommandInput, UpdateObjectEncryptionCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: UpdateObjectEncryptionCommandInput): import("@smithy/smithy-client").CommandImpl<UpdateObjectEncryptionCommandInput, UpdateObjectEncryptionCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <note>
31
+ * <p>This operation is not supported for directory buckets or Amazon S3 on Outposts buckets.
32
+ * </p>
33
+ * </note>
34
+ * <p>
35
+ * Updates the server-side encryption type of an existing encrypted object in a general purpose bucket.
36
+ * You can use the <code>UpdateObjectEncryption</code> operation to change encrypted objects from
37
+ * server-side encryption with Amazon S3 managed keys (SSE-S3) to server-side encryption with Key Management Service (KMS)
38
+ * keys (SSE-KMS), or to apply S3 Bucket Keys. You can also use the <code>UpdateObjectEncryption</code> operation
39
+ * to change the customer-managed KMS key used to encrypt your data so that you can comply with custom
40
+ * key-rotation standards.
41
+ * </p>
42
+ * <p>Using the <code>UpdateObjectEncryption</code> operation, you can atomically update the server-side
43
+ * encryption type of an existing object in a general purpose bucket without any data movement. The
44
+ * <code>UpdateObjectEncryption</code> operation uses envelope encryption to re-encrypt the data key used to
45
+ * encrypt and decrypt your object with your newly specified server-side encryption type. In other words,
46
+ * when you use the <code>UpdateObjectEncryption</code> operation, your data isn't copied, archived
47
+ * objects in the S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive storage classes aren't
48
+ * restored, and objects in the S3 Intelligent-Tiering storage class aren't moved between tiers.
49
+ * Additionally, the <code>UpdateObjectEncryption</code> operation preserves all object metadata
50
+ * properties, including the storage class, creation date, last modified date, ETag, and checksum
51
+ * properties. For more information, see
52
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/update-sse-encryption.html">
53
+ * Updating server-side encryption for existing objects</a> in the
54
+ * <i>Amazon S3 User Guide</i>.</p>
55
+ * <p>By default, all <code>UpdateObjectEncryption</code> requests that specify a customer-managed
56
+ * KMS key are restricted to KMS keys that are owned by the bucket owner's Amazon Web Services account. If you're
57
+ * using Organizations, you can request the ability to use KMS keys owned by other member
58
+ * accounts within your organization by contacting Amazon Web Services Support.</p>
59
+ * <note>
60
+ * <p>Source objects that are unencrypted, or encrypted with either dual-layer server-side encryption
61
+ * with KMS keys (DSSE-KMS) or server-side encryption with customer-provided keys (SSE-C) aren't
62
+ * supported by this operation. Additionally, you cannot specify SSE-S3 encryption as the requested
63
+ * new encryption type <code>UpdateObjectEncryption</code> request.</p>
64
+ * </note>
65
+ * <dl>
66
+ * <dt>Permissions</dt>
67
+ * <dd>
68
+ * <ul>
69
+ * <li>
70
+ * <p>To use the <code>UpdateObjectEncryption</code> operation, you must have the following
71
+ * permissions:</p>
72
+ * <ul>
73
+ * <li>
74
+ * <p>
75
+ * <code>s3:PutObject</code>
76
+ * </p>
77
+ * </li>
78
+ * <li>
79
+ * <p>
80
+ * <code>s3:UpdateObjectEncryption</code>
81
+ * </p>
82
+ * </li>
83
+ * <li>
84
+ * <p>
85
+ * <code>kms:Encrypt</code>
86
+ * </p>
87
+ * </li>
88
+ * <li>
89
+ * <p>
90
+ * <code>kms:Decrypt</code>
91
+ * </p>
92
+ * </li>
93
+ * <li>
94
+ * <p>
95
+ * <code>kms:GenerateDataKey</code>
96
+ * </p>
97
+ * </li>
98
+ * <li>
99
+ * <p>
100
+ * <code>kms:ReEncrypt*</code>
101
+ * </p>
102
+ * </li>
103
+ * </ul>
104
+ * </li>
105
+ * <li>
106
+ * <p>If you're using Organizations, to use this operation with customer-managed
107
+ * KMS keys from other Amazon Web Services accounts within your organization, you must have the
108
+ * <code>organizations:DescribeAccount</code> permission.</p>
109
+ * </li>
110
+ * </ul>
111
+ * </dd>
112
+ * </dl>
113
+ * <dl>
114
+ * <dt>Errors</dt>
115
+ * <dd>
116
+ * <ul>
117
+ * <li>
118
+ * <p>You might receive an <code>InvalidRequest</code> error for several reasons. Depending
119
+ * on the reason for the error, you might receive one of the following messages:</p>
120
+ * <ul>
121
+ * <li>
122
+ * <p>The <code>UpdateObjectEncryption</code> operation doesn't supported unencrypted
123
+ * source objects. Only source objects encrypted with SSE-S3 or SSE-KMS are supported.</p>
124
+ * </li>
125
+ * <li>
126
+ * <p>The <code>UpdateObjectEncryption</code> operation doesn't support source objects
127
+ * with the encryption type DSSE-KMS or SSE-C. Only source objects encrypted with SSE-S3
128
+ * or SSE-KMS are supported.</p>
129
+ * </li>
130
+ * <li>
131
+ * <p>The <code>UpdateObjectEncryption</code> operation doesn't support updating the
132
+ * encryption type to DSSE-KMS or SSE-C. Modify the request to specify SSE-KMS
133
+ * for the updated encryption type, and then try again.</p>
134
+ * </li>
135
+ * <li>
136
+ * <p>Requests that modify an object encryption configuration require Amazon Web Services Signature
137
+ * Version 4. Modify the request to use Amazon Web Services Signature Version 4, and then try again.</p>
138
+ * </li>
139
+ * <li>
140
+ * <p>Requests that modify an object encryption configuration require a valid new
141
+ * encryption type. Valid values are <code>SSEKMS</code>. Modify the request to specify
142
+ * SSE-KMS for the updated encryption type, and then try again.</p>
143
+ * </li>
144
+ * <li>
145
+ * <p>Requests that modify an object's encryption type to SSE-KMS require an Amazon Web Services KMS key
146
+ * Amazon Resource Name (ARN). Modify the request to specify a KMS key ARN, and then
147
+ * try again.</p>
148
+ * </li>
149
+ * <li>
150
+ * <p>Requests that modify an object's encryption type to SSE-KMS require a valid
151
+ * Amazon Web Services KMS key Amazon Resource Name (ARN). Confirm that you have a correctly formatted
152
+ * KMS key ARN in your request, and then try again.</p>
153
+ * </li>
154
+ * <li>
155
+ * <p>The <code>BucketKeyEnabled</code> value isn't valid. Valid values are
156
+ * <code>true</code> or <code>false</code>. Modify the request to specify a valid value,
157
+ * and then try again.</p>
158
+ * </li>
159
+ * </ul>
160
+ * </li>
161
+ * <li>
162
+ * <p>You might receive an <code>AccessDenied</code> error for several reasons. Depending on
163
+ * the reason for the error, you might receive one of the following messages:</p>
164
+ * <ul>
165
+ * <li>
166
+ * <p>The Amazon Web Services KMS key in the request must be owned by the same account as the bucket. Modify
167
+ * the request to specify a KMS key from the same account, and then try again.</p>
168
+ * </li>
169
+ * <li>
170
+ * <p>The bucket owner's account was approved to make <code>UpdateObjectEncryption</code> requests
171
+ * that use any Amazon Web Services KMS key in their organization, but the bucket owner's account isn't part of
172
+ * an organization in Organizations. Make sure that the bucket owner's account and the
173
+ * specified KMS key belong to the same organization, and then try again. </p>
174
+ * </li>
175
+ * <li>
176
+ * <p>The specified Amazon Web Services KMS key must be from the same organization in Organizations as
177
+ * the bucket. Specify a KMS key that belongs to the same organization as the bucket, and then
178
+ * try again. </p>
179
+ * </li>
180
+ * <li>
181
+ * <p>The encryption type for the specified object can’t be updated because that object is
182
+ * protected by S3 Object Lock. If the object has a governance-mode retention period or a legal
183
+ * hold, you must first remove the Object Lock status on the object before you issue your
184
+ * <code>UpdateObjectEncryption</code> request. You can't use the <code>UpdateObjectEncryption</code>
185
+ * operation with objects that have an Object Lock compliance mode retention period applied to them.</p>
186
+ * </li>
187
+ * </ul>
188
+ * </li>
189
+ * </ul>
190
+ * </dd>
191
+ * </dl>
192
+ * @example
193
+ * Use a bare-bones client and the command you need to make an API call.
194
+ * ```javascript
195
+ * import { S3Client, UpdateObjectEncryptionCommand } from "@aws-sdk/client-s3"; // ES Modules import
196
+ * // const { S3Client, UpdateObjectEncryptionCommand } = require("@aws-sdk/client-s3"); // CommonJS import
197
+ * // import type { S3ClientConfig } from "@aws-sdk/client-s3";
198
+ * const config = {}; // type is S3ClientConfig
199
+ * const client = new S3Client(config);
200
+ * const input = { // UpdateObjectEncryptionRequest
201
+ * Bucket: "STRING_VALUE", // required
202
+ * Key: "STRING_VALUE", // required
203
+ * VersionId: "STRING_VALUE",
204
+ * ObjectEncryption: { // ObjectEncryption Union: only one key present
205
+ * SSEKMS: { // SSEKMSEncryption
206
+ * KMSKeyArn: "STRING_VALUE", // required
207
+ * BucketKeyEnabled: true || false,
208
+ * },
209
+ * },
210
+ * RequestPayer: "requester",
211
+ * ExpectedBucketOwner: "STRING_VALUE",
212
+ * ContentMD5: "STRING_VALUE",
213
+ * ChecksumAlgorithm: "CRC32" || "CRC32C" || "SHA1" || "SHA256" || "CRC64NVME",
214
+ * };
215
+ * const command = new UpdateObjectEncryptionCommand(input);
216
+ * const response = await client.send(command);
217
+ * // { // UpdateObjectEncryptionResponse
218
+ * // RequestCharged: "requester",
219
+ * // };
220
+ *
221
+ * ```
222
+ *
223
+ * @param UpdateObjectEncryptionCommandInput - {@link UpdateObjectEncryptionCommandInput}
224
+ * @returns {@link UpdateObjectEncryptionCommandOutput}
225
+ * @see {@link UpdateObjectEncryptionCommandInput} for command's `input` shape.
226
+ * @see {@link UpdateObjectEncryptionCommandOutput} for command's `response` shape.
227
+ * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape.
228
+ *
229
+ * @throws {@link AccessDenied} (client fault)
230
+ * <p>
231
+ * You might receive this error for several reasons. For details, see the description of this API
232
+ * operation.</p>
233
+ *
234
+ * @throws {@link InvalidRequest} (client fault)
235
+ * <p>A parameter or header in your request isn't valid. For details, see the description of this API
236
+ * operation.</p>
237
+ *
238
+ * @throws {@link NoSuchKey} (client fault)
239
+ * <p>The specified key does not exist.</p>
240
+ *
241
+ * @throws {@link S3ServiceException}
242
+ * <p>Base exception class for all service exceptions from S3 service.</p>
243
+ *
244
+ *
245
+ * @public
246
+ */
247
+ export declare class UpdateObjectEncryptionCommand extends UpdateObjectEncryptionCommand_base {
248
+ /** @internal type navigation helper, not in runtime. */
249
+ protected static __types: {
250
+ api: {
251
+ input: UpdateObjectEncryptionRequest;
252
+ output: UpdateObjectEncryptionResponse;
253
+ };
254
+ sdk: {
255
+ input: UpdateObjectEncryptionCommandInput;
256
+ output: UpdateObjectEncryptionCommandOutput;
257
+ };
258
+ };
259
+ }
@@ -101,6 +101,7 @@ export * from "./RestoreObjectCommand";
101
101
  export * from "./SelectObjectContentCommand";
102
102
  export * from "./UpdateBucketMetadataInventoryTableConfigurationCommand";
103
103
  export * from "./UpdateBucketMetadataJournalTableConfigurationCommand";
104
+ export * from "./UpdateObjectEncryptionCommand";
104
105
  export * from "./UploadPartCommand";
105
106
  export * from "./UploadPartCopyCommand";
106
107
  export * from "./WriteGetObjectResponseCommand";