@aws-sdk/client-s3 3.50.0 → 3.53.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 (228) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist-cjs/S3.js +15 -0
  3. package/dist-cjs/commands/CompleteMultipartUploadCommand.js +2 -0
  4. package/dist-cjs/commands/DeleteObjectsCommand.js +6 -2
  5. package/dist-cjs/commands/GetObjectAttributesCommand.js +40 -0
  6. package/dist-cjs/commands/GetObjectCommand.js +7 -0
  7. package/dist-cjs/commands/ListPartsCommand.js +2 -0
  8. package/dist-cjs/commands/PutBucketAccelerateConfigurationCommand.js +6 -0
  9. package/dist-cjs/commands/PutBucketAclCommand.js +6 -2
  10. package/dist-cjs/commands/PutBucketCorsCommand.js +6 -2
  11. package/dist-cjs/commands/PutBucketEncryptionCommand.js +6 -2
  12. package/dist-cjs/commands/PutBucketLifecycleConfigurationCommand.js +6 -2
  13. package/dist-cjs/commands/PutBucketLoggingCommand.js +6 -2
  14. package/dist-cjs/commands/PutBucketOwnershipControlsCommand.js +2 -2
  15. package/dist-cjs/commands/PutBucketPolicyCommand.js +6 -2
  16. package/dist-cjs/commands/PutBucketReplicationCommand.js +6 -2
  17. package/dist-cjs/commands/PutBucketRequestPaymentCommand.js +6 -2
  18. package/dist-cjs/commands/PutBucketTaggingCommand.js +6 -2
  19. package/dist-cjs/commands/PutBucketVersioningCommand.js +6 -2
  20. package/dist-cjs/commands/PutBucketWebsiteCommand.js +6 -2
  21. package/dist-cjs/commands/PutObjectAclCommand.js +6 -2
  22. package/dist-cjs/commands/PutObjectCommand.js +6 -0
  23. package/dist-cjs/commands/PutObjectLegalHoldCommand.js +6 -2
  24. package/dist-cjs/commands/PutObjectLockConfigurationCommand.js +6 -2
  25. package/dist-cjs/commands/PutObjectRetentionCommand.js +9 -5
  26. package/dist-cjs/commands/PutObjectTaggingCommand.js +9 -5
  27. package/dist-cjs/commands/PutPublicAccessBlockCommand.js +8 -4
  28. package/dist-cjs/commands/RestoreObjectCommand.js +7 -2
  29. package/dist-cjs/commands/UploadPartCommand.js +6 -0
  30. package/dist-cjs/commands/WriteGetObjectResponseCommand.js +0 -2
  31. package/dist-cjs/commands/index.js +1 -0
  32. package/dist-cjs/index.js +3 -0
  33. package/dist-cjs/models/S3ServiceException.js +11 -0
  34. package/dist-cjs/models/models_0.js +165 -41
  35. package/dist-cjs/models/models_1.js +51 -1
  36. package/dist-cjs/protocols/Aws_restXml.js +962 -1057
  37. package/dist-cjs/runtimeConfig.browser.js +17 -13
  38. package/dist-cjs/runtimeConfig.js +17 -14
  39. package/dist-es/S3.js +15 -0
  40. package/dist-es/commands/CompleteMultipartUploadCommand.js +2 -0
  41. package/dist-es/commands/DeleteObjectsCommand.js +6 -2
  42. package/dist-es/commands/GetObjectAttributesCommand.js +43 -0
  43. package/dist-es/commands/GetObjectCommand.js +7 -0
  44. package/dist-es/commands/ListPartsCommand.js +2 -0
  45. package/dist-es/commands/PutBucketAccelerateConfigurationCommand.js +6 -0
  46. package/dist-es/commands/PutBucketAclCommand.js +6 -2
  47. package/dist-es/commands/PutBucketCorsCommand.js +6 -2
  48. package/dist-es/commands/PutBucketEncryptionCommand.js +6 -2
  49. package/dist-es/commands/PutBucketLifecycleConfigurationCommand.js +6 -2
  50. package/dist-es/commands/PutBucketLoggingCommand.js +6 -2
  51. package/dist-es/commands/PutBucketOwnershipControlsCommand.js +2 -2
  52. package/dist-es/commands/PutBucketPolicyCommand.js +6 -2
  53. package/dist-es/commands/PutBucketReplicationCommand.js +6 -2
  54. package/dist-es/commands/PutBucketRequestPaymentCommand.js +6 -2
  55. package/dist-es/commands/PutBucketTaggingCommand.js +6 -2
  56. package/dist-es/commands/PutBucketVersioningCommand.js +6 -2
  57. package/dist-es/commands/PutBucketWebsiteCommand.js +6 -2
  58. package/dist-es/commands/PutObjectAclCommand.js +6 -2
  59. package/dist-es/commands/PutObjectCommand.js +6 -0
  60. package/dist-es/commands/PutObjectLegalHoldCommand.js +6 -2
  61. package/dist-es/commands/PutObjectLockConfigurationCommand.js +6 -2
  62. package/dist-es/commands/PutObjectRetentionCommand.js +7 -3
  63. package/dist-es/commands/PutObjectTaggingCommand.js +7 -3
  64. package/dist-es/commands/PutPublicAccessBlockCommand.js +7 -3
  65. package/dist-es/commands/RestoreObjectCommand.js +7 -2
  66. package/dist-es/commands/UploadPartCommand.js +6 -0
  67. package/dist-es/commands/WriteGetObjectResponseCommand.js +0 -2
  68. package/dist-es/commands/index.js +1 -0
  69. package/dist-es/index.js +1 -0
  70. package/dist-es/models/S3ServiceException.js +12 -0
  71. package/dist-es/models/models_0.js +141 -27
  72. package/dist-es/models/models_1.js +38 -1
  73. package/dist-es/protocols/Aws_restXml.js +1366 -900
  74. package/dist-es/runtimeConfig.browser.js +5 -3
  75. package/dist-es/runtimeConfig.js +5 -4
  76. package/dist-types/S3.d.ts +332 -90
  77. package/dist-types/S3Client.d.ts +19 -7
  78. package/dist-types/commands/CopyObjectCommand.d.ts +11 -5
  79. package/dist-types/commands/CreateMultipartUploadCommand.d.ts +33 -11
  80. package/dist-types/commands/GetBucketCorsCommand.d.ts +7 -5
  81. package/dist-types/commands/GetBucketTaggingCommand.d.ts +1 -1
  82. package/dist-types/commands/GetObjectAclCommand.d.ts +9 -1
  83. package/dist-types/commands/GetObjectAttributesCommand.d.ts +190 -0
  84. package/dist-types/commands/GetObjectCommand.d.ts +3 -5
  85. package/dist-types/commands/GetObjectLegalHoldCommand.d.ts +11 -1
  86. package/dist-types/commands/GetObjectLockConfigurationCommand.d.ts +9 -0
  87. package/dist-types/commands/GetObjectRetentionCommand.d.ts +9 -0
  88. package/dist-types/commands/GetObjectTaggingCommand.d.ts +8 -3
  89. package/dist-types/commands/HeadObjectCommand.d.ts +6 -1
  90. package/dist-types/commands/ListBucketsCommand.d.ts +2 -1
  91. package/dist-types/commands/ListPartsCommand.d.ts +8 -0
  92. package/dist-types/commands/PutBucketAccelerateConfigurationCommand.d.ts +4 -4
  93. package/dist-types/commands/PutBucketEncryptionCommand.d.ts +3 -1
  94. package/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +12 -4
  95. package/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +2 -1
  96. package/dist-types/commands/PutBucketVersioningCommand.d.ts +4 -4
  97. package/dist-types/commands/PutObjectLegalHoldCommand.d.ts +1 -1
  98. package/dist-types/commands/PutObjectRetentionCommand.d.ts +1 -8
  99. package/dist-types/commands/PutObjectTaggingCommand.d.ts +1 -1
  100. package/dist-types/commands/PutPublicAccessBlockCommand.d.ts +1 -1
  101. package/dist-types/commands/RestoreObjectCommand.d.ts +24 -32
  102. package/dist-types/commands/UploadPartCopyCommand.d.ts +4 -4
  103. package/dist-types/commands/index.d.ts +1 -0
  104. package/dist-types/index.d.ts +1 -0
  105. package/dist-types/models/S3ServiceException.d.ts +10 -0
  106. package/dist-types/models/models_0.d.ts +1065 -406
  107. package/dist-types/models/models_1.d.ts +434 -48
  108. package/dist-types/protocols/Aws_restXml.d.ts +3 -0
  109. package/dist-types/runtimeConfig.browser.d.ts +2 -0
  110. package/dist-types/runtimeConfig.d.ts +2 -0
  111. package/dist-types/runtimeConfig.native.d.ts +3 -1
  112. package/dist-types/ts3.4/S3.d.ts +470 -0
  113. package/dist-types/ts3.4/S3Client.d.ts +184 -0
  114. package/dist-types/ts3.4/commands/AbortMultipartUploadCommand.d.ts +17 -0
  115. package/dist-types/ts3.4/commands/CompleteMultipartUploadCommand.d.ts +17 -0
  116. package/dist-types/ts3.4/commands/CopyObjectCommand.d.ts +17 -0
  117. package/dist-types/ts3.4/commands/CreateBucketCommand.d.ts +17 -0
  118. package/dist-types/ts3.4/commands/CreateMultipartUploadCommand.d.ts +17 -0
  119. package/dist-types/ts3.4/commands/DeleteBucketAnalyticsConfigurationCommand.d.ts +17 -0
  120. package/dist-types/ts3.4/commands/DeleteBucketCommand.d.ts +17 -0
  121. package/dist-types/ts3.4/commands/DeleteBucketCorsCommand.d.ts +17 -0
  122. package/dist-types/ts3.4/commands/DeleteBucketEncryptionCommand.d.ts +17 -0
  123. package/dist-types/ts3.4/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +17 -0
  124. package/dist-types/ts3.4/commands/DeleteBucketInventoryConfigurationCommand.d.ts +17 -0
  125. package/dist-types/ts3.4/commands/DeleteBucketLifecycleCommand.d.ts +17 -0
  126. package/dist-types/ts3.4/commands/DeleteBucketMetricsConfigurationCommand.d.ts +17 -0
  127. package/dist-types/ts3.4/commands/DeleteBucketOwnershipControlsCommand.d.ts +17 -0
  128. package/dist-types/ts3.4/commands/DeleteBucketPolicyCommand.d.ts +17 -0
  129. package/dist-types/ts3.4/commands/DeleteBucketReplicationCommand.d.ts +17 -0
  130. package/dist-types/ts3.4/commands/DeleteBucketTaggingCommand.d.ts +17 -0
  131. package/dist-types/ts3.4/commands/DeleteBucketWebsiteCommand.d.ts +17 -0
  132. package/dist-types/ts3.4/commands/DeleteObjectCommand.d.ts +17 -0
  133. package/dist-types/ts3.4/commands/DeleteObjectTaggingCommand.d.ts +17 -0
  134. package/dist-types/ts3.4/commands/DeleteObjectsCommand.d.ts +17 -0
  135. package/dist-types/ts3.4/commands/DeletePublicAccessBlockCommand.d.ts +17 -0
  136. package/dist-types/ts3.4/commands/GetBucketAccelerateConfigurationCommand.d.ts +17 -0
  137. package/dist-types/ts3.4/commands/GetBucketAclCommand.d.ts +17 -0
  138. package/dist-types/ts3.4/commands/GetBucketAnalyticsConfigurationCommand.d.ts +17 -0
  139. package/dist-types/ts3.4/commands/GetBucketCorsCommand.d.ts +17 -0
  140. package/dist-types/ts3.4/commands/GetBucketEncryptionCommand.d.ts +17 -0
  141. package/dist-types/ts3.4/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +17 -0
  142. package/dist-types/ts3.4/commands/GetBucketInventoryConfigurationCommand.d.ts +17 -0
  143. package/dist-types/ts3.4/commands/GetBucketLifecycleConfigurationCommand.d.ts +17 -0
  144. package/dist-types/ts3.4/commands/GetBucketLocationCommand.d.ts +17 -0
  145. package/dist-types/ts3.4/commands/GetBucketLoggingCommand.d.ts +17 -0
  146. package/dist-types/ts3.4/commands/GetBucketMetricsConfigurationCommand.d.ts +17 -0
  147. package/dist-types/ts3.4/commands/GetBucketNotificationConfigurationCommand.d.ts +17 -0
  148. package/dist-types/ts3.4/commands/GetBucketOwnershipControlsCommand.d.ts +17 -0
  149. package/dist-types/ts3.4/commands/GetBucketPolicyCommand.d.ts +17 -0
  150. package/dist-types/ts3.4/commands/GetBucketPolicyStatusCommand.d.ts +17 -0
  151. package/dist-types/ts3.4/commands/GetBucketReplicationCommand.d.ts +17 -0
  152. package/dist-types/ts3.4/commands/GetBucketRequestPaymentCommand.d.ts +17 -0
  153. package/dist-types/ts3.4/commands/GetBucketTaggingCommand.d.ts +17 -0
  154. package/dist-types/ts3.4/commands/GetBucketVersioningCommand.d.ts +17 -0
  155. package/dist-types/ts3.4/commands/GetBucketWebsiteCommand.d.ts +17 -0
  156. package/dist-types/ts3.4/commands/GetObjectAclCommand.d.ts +17 -0
  157. package/dist-types/ts3.4/commands/GetObjectAttributesCommand.d.ts +17 -0
  158. package/dist-types/ts3.4/commands/GetObjectCommand.d.ts +17 -0
  159. package/dist-types/ts3.4/commands/GetObjectLegalHoldCommand.d.ts +17 -0
  160. package/dist-types/ts3.4/commands/GetObjectLockConfigurationCommand.d.ts +17 -0
  161. package/dist-types/ts3.4/commands/GetObjectRetentionCommand.d.ts +17 -0
  162. package/dist-types/ts3.4/commands/GetObjectTaggingCommand.d.ts +17 -0
  163. package/dist-types/ts3.4/commands/GetObjectTorrentCommand.d.ts +17 -0
  164. package/dist-types/ts3.4/commands/GetPublicAccessBlockCommand.d.ts +17 -0
  165. package/dist-types/ts3.4/commands/HeadBucketCommand.d.ts +17 -0
  166. package/dist-types/ts3.4/commands/HeadObjectCommand.d.ts +17 -0
  167. package/dist-types/ts3.4/commands/ListBucketAnalyticsConfigurationsCommand.d.ts +17 -0
  168. package/dist-types/ts3.4/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +17 -0
  169. package/dist-types/ts3.4/commands/ListBucketInventoryConfigurationsCommand.d.ts +17 -0
  170. package/dist-types/ts3.4/commands/ListBucketMetricsConfigurationsCommand.d.ts +17 -0
  171. package/dist-types/ts3.4/commands/ListBucketsCommand.d.ts +17 -0
  172. package/dist-types/ts3.4/commands/ListMultipartUploadsCommand.d.ts +17 -0
  173. package/dist-types/ts3.4/commands/ListObjectVersionsCommand.d.ts +17 -0
  174. package/dist-types/ts3.4/commands/ListObjectsCommand.d.ts +17 -0
  175. package/dist-types/ts3.4/commands/ListObjectsV2Command.d.ts +17 -0
  176. package/dist-types/ts3.4/commands/ListPartsCommand.d.ts +17 -0
  177. package/dist-types/ts3.4/commands/PutBucketAccelerateConfigurationCommand.d.ts +17 -0
  178. package/dist-types/ts3.4/commands/PutBucketAclCommand.d.ts +17 -0
  179. package/dist-types/ts3.4/commands/PutBucketAnalyticsConfigurationCommand.d.ts +17 -0
  180. package/dist-types/ts3.4/commands/PutBucketCorsCommand.d.ts +17 -0
  181. package/dist-types/ts3.4/commands/PutBucketEncryptionCommand.d.ts +17 -0
  182. package/dist-types/ts3.4/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +17 -0
  183. package/dist-types/ts3.4/commands/PutBucketInventoryConfigurationCommand.d.ts +17 -0
  184. package/dist-types/ts3.4/commands/PutBucketLifecycleConfigurationCommand.d.ts +17 -0
  185. package/dist-types/ts3.4/commands/PutBucketLoggingCommand.d.ts +17 -0
  186. package/dist-types/ts3.4/commands/PutBucketMetricsConfigurationCommand.d.ts +17 -0
  187. package/dist-types/ts3.4/commands/PutBucketNotificationConfigurationCommand.d.ts +17 -0
  188. package/dist-types/ts3.4/commands/PutBucketOwnershipControlsCommand.d.ts +17 -0
  189. package/dist-types/ts3.4/commands/PutBucketPolicyCommand.d.ts +17 -0
  190. package/dist-types/ts3.4/commands/PutBucketReplicationCommand.d.ts +17 -0
  191. package/dist-types/ts3.4/commands/PutBucketRequestPaymentCommand.d.ts +17 -0
  192. package/dist-types/ts3.4/commands/PutBucketTaggingCommand.d.ts +17 -0
  193. package/dist-types/ts3.4/commands/PutBucketVersioningCommand.d.ts +17 -0
  194. package/dist-types/ts3.4/commands/PutBucketWebsiteCommand.d.ts +17 -0
  195. package/dist-types/ts3.4/commands/PutObjectAclCommand.d.ts +17 -0
  196. package/dist-types/ts3.4/commands/PutObjectCommand.d.ts +24 -0
  197. package/dist-types/ts3.4/commands/PutObjectLegalHoldCommand.d.ts +17 -0
  198. package/dist-types/ts3.4/commands/PutObjectLockConfigurationCommand.d.ts +17 -0
  199. package/dist-types/ts3.4/commands/PutObjectRetentionCommand.d.ts +17 -0
  200. package/dist-types/ts3.4/commands/PutObjectTaggingCommand.d.ts +17 -0
  201. package/dist-types/ts3.4/commands/PutPublicAccessBlockCommand.d.ts +17 -0
  202. package/dist-types/ts3.4/commands/RestoreObjectCommand.d.ts +17 -0
  203. package/dist-types/ts3.4/commands/SelectObjectContentCommand.d.ts +17 -0
  204. package/dist-types/ts3.4/commands/UploadPartCommand.d.ts +24 -0
  205. package/dist-types/ts3.4/commands/UploadPartCopyCommand.d.ts +17 -0
  206. package/dist-types/ts3.4/commands/WriteGetObjectResponseCommand.d.ts +24 -0
  207. package/dist-types/ts3.4/commands/index.d.ts +93 -0
  208. package/dist-types/ts3.4/endpoints.d.ts +2 -0
  209. package/dist-types/ts3.4/index.d.ts +7 -0
  210. package/dist-types/ts3.4/models/S3ServiceException.d.ts +6 -0
  211. package/dist-types/ts3.4/models/index.d.ts +2 -0
  212. package/dist-types/ts3.4/models/models_0.d.ts +3903 -0
  213. package/dist-types/ts3.4/models/models_1.d.ts +767 -0
  214. package/dist-types/ts3.4/pagination/Interfaces.d.ts +6 -0
  215. package/dist-types/ts3.4/pagination/ListObjectsV2Paginator.d.ts +4 -0
  216. package/dist-types/ts3.4/pagination/ListPartsPaginator.d.ts +4 -0
  217. package/dist-types/ts3.4/pagination/index.d.ts +3 -0
  218. package/dist-types/ts3.4/protocols/Aws_restXml.d.ts +281 -0
  219. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +49 -0
  220. package/dist-types/ts3.4/runtimeConfig.d.ts +50 -0
  221. package/dist-types/ts3.4/runtimeConfig.native.d.ts +48 -0
  222. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +15 -0
  223. package/dist-types/ts3.4/waiters/index.d.ts +4 -0
  224. package/dist-types/ts3.4/waiters/waitForBucketExists.d.ts +7 -0
  225. package/dist-types/ts3.4/waiters/waitForBucketNotExists.d.ts +7 -0
  226. package/dist-types/ts3.4/waiters/waitForObjectExists.d.ts +7 -0
  227. package/dist-types/ts3.4/waiters/waitForObjectNotExists.d.ts +7 -0
  228. package/package.json +50 -47
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serializeAws_restXmlGetPublicAccessBlockCommand = exports.serializeAws_restXmlGetObjectTorrentCommand = exports.serializeAws_restXmlGetObjectTaggingCommand = exports.serializeAws_restXmlGetObjectRetentionCommand = exports.serializeAws_restXmlGetObjectLockConfigurationCommand = exports.serializeAws_restXmlGetObjectLegalHoldCommand = exports.serializeAws_restXmlGetObjectAclCommand = exports.serializeAws_restXmlGetObjectCommand = exports.serializeAws_restXmlGetBucketWebsiteCommand = exports.serializeAws_restXmlGetBucketVersioningCommand = exports.serializeAws_restXmlGetBucketTaggingCommand = exports.serializeAws_restXmlGetBucketRequestPaymentCommand = exports.serializeAws_restXmlGetBucketReplicationCommand = exports.serializeAws_restXmlGetBucketPolicyStatusCommand = exports.serializeAws_restXmlGetBucketPolicyCommand = exports.serializeAws_restXmlGetBucketOwnershipControlsCommand = exports.serializeAws_restXmlGetBucketNotificationConfigurationCommand = exports.serializeAws_restXmlGetBucketMetricsConfigurationCommand = exports.serializeAws_restXmlGetBucketLoggingCommand = exports.serializeAws_restXmlGetBucketLocationCommand = exports.serializeAws_restXmlGetBucketLifecycleConfigurationCommand = exports.serializeAws_restXmlGetBucketInventoryConfigurationCommand = exports.serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlGetBucketEncryptionCommand = exports.serializeAws_restXmlGetBucketCorsCommand = exports.serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlGetBucketAclCommand = exports.serializeAws_restXmlGetBucketAccelerateConfigurationCommand = exports.serializeAws_restXmlDeletePublicAccessBlockCommand = exports.serializeAws_restXmlDeleteObjectTaggingCommand = exports.serializeAws_restXmlDeleteObjectsCommand = exports.serializeAws_restXmlDeleteObjectCommand = exports.serializeAws_restXmlDeleteBucketWebsiteCommand = exports.serializeAws_restXmlDeleteBucketTaggingCommand = exports.serializeAws_restXmlDeleteBucketReplicationCommand = exports.serializeAws_restXmlDeleteBucketPolicyCommand = exports.serializeAws_restXmlDeleteBucketOwnershipControlsCommand = exports.serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = exports.serializeAws_restXmlDeleteBucketLifecycleCommand = exports.serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = exports.serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlDeleteBucketEncryptionCommand = exports.serializeAws_restXmlDeleteBucketCorsCommand = exports.serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlDeleteBucketCommand = exports.serializeAws_restXmlCreateMultipartUploadCommand = exports.serializeAws_restXmlCreateBucketCommand = exports.serializeAws_restXmlCopyObjectCommand = exports.serializeAws_restXmlCompleteMultipartUploadCommand = exports.serializeAws_restXmlAbortMultipartUploadCommand = void 0;
4
- exports.deserializeAws_restXmlDeleteBucketCorsCommand = exports.deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketCommand = exports.deserializeAws_restXmlCreateMultipartUploadCommand = exports.deserializeAws_restXmlCreateBucketCommand = exports.deserializeAws_restXmlCopyObjectCommand = exports.deserializeAws_restXmlCompleteMultipartUploadCommand = exports.deserializeAws_restXmlAbortMultipartUploadCommand = exports.serializeAws_restXmlWriteGetObjectResponseCommand = exports.serializeAws_restXmlUploadPartCopyCommand = exports.serializeAws_restXmlUploadPartCommand = exports.serializeAws_restXmlSelectObjectContentCommand = exports.serializeAws_restXmlRestoreObjectCommand = exports.serializeAws_restXmlPutPublicAccessBlockCommand = exports.serializeAws_restXmlPutObjectTaggingCommand = exports.serializeAws_restXmlPutObjectRetentionCommand = exports.serializeAws_restXmlPutObjectLockConfigurationCommand = exports.serializeAws_restXmlPutObjectLegalHoldCommand = exports.serializeAws_restXmlPutObjectAclCommand = exports.serializeAws_restXmlPutObjectCommand = exports.serializeAws_restXmlPutBucketWebsiteCommand = exports.serializeAws_restXmlPutBucketVersioningCommand = exports.serializeAws_restXmlPutBucketTaggingCommand = exports.serializeAws_restXmlPutBucketRequestPaymentCommand = exports.serializeAws_restXmlPutBucketReplicationCommand = exports.serializeAws_restXmlPutBucketPolicyCommand = exports.serializeAws_restXmlPutBucketOwnershipControlsCommand = exports.serializeAws_restXmlPutBucketNotificationConfigurationCommand = exports.serializeAws_restXmlPutBucketMetricsConfigurationCommand = exports.serializeAws_restXmlPutBucketLoggingCommand = exports.serializeAws_restXmlPutBucketLifecycleConfigurationCommand = exports.serializeAws_restXmlPutBucketInventoryConfigurationCommand = exports.serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlPutBucketEncryptionCommand = exports.serializeAws_restXmlPutBucketCorsCommand = exports.serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlPutBucketAclCommand = exports.serializeAws_restXmlPutBucketAccelerateConfigurationCommand = exports.serializeAws_restXmlListPartsCommand = exports.serializeAws_restXmlListObjectVersionsCommand = exports.serializeAws_restXmlListObjectsV2Command = exports.serializeAws_restXmlListObjectsCommand = exports.serializeAws_restXmlListMultipartUploadsCommand = exports.serializeAws_restXmlListBucketsCommand = exports.serializeAws_restXmlListBucketMetricsConfigurationsCommand = exports.serializeAws_restXmlListBucketInventoryConfigurationsCommand = exports.serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = exports.serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = exports.serializeAws_restXmlHeadObjectCommand = exports.serializeAws_restXmlHeadBucketCommand = void 0;
5
- exports.deserializeAws_restXmlListMultipartUploadsCommand = exports.deserializeAws_restXmlListBucketsCommand = exports.deserializeAws_restXmlListBucketMetricsConfigurationsCommand = exports.deserializeAws_restXmlListBucketInventoryConfigurationsCommand = exports.deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = exports.deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = exports.deserializeAws_restXmlHeadObjectCommand = exports.deserializeAws_restXmlHeadBucketCommand = exports.deserializeAws_restXmlGetPublicAccessBlockCommand = exports.deserializeAws_restXmlGetObjectTorrentCommand = exports.deserializeAws_restXmlGetObjectTaggingCommand = exports.deserializeAws_restXmlGetObjectRetentionCommand = exports.deserializeAws_restXmlGetObjectLockConfigurationCommand = exports.deserializeAws_restXmlGetObjectLegalHoldCommand = exports.deserializeAws_restXmlGetObjectAclCommand = exports.deserializeAws_restXmlGetObjectCommand = exports.deserializeAws_restXmlGetBucketWebsiteCommand = exports.deserializeAws_restXmlGetBucketVersioningCommand = exports.deserializeAws_restXmlGetBucketTaggingCommand = exports.deserializeAws_restXmlGetBucketRequestPaymentCommand = exports.deserializeAws_restXmlGetBucketReplicationCommand = exports.deserializeAws_restXmlGetBucketPolicyStatusCommand = exports.deserializeAws_restXmlGetBucketPolicyCommand = exports.deserializeAws_restXmlGetBucketOwnershipControlsCommand = exports.deserializeAws_restXmlGetBucketNotificationConfigurationCommand = exports.deserializeAws_restXmlGetBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlGetBucketLoggingCommand = exports.deserializeAws_restXmlGetBucketLocationCommand = exports.deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = exports.deserializeAws_restXmlGetBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlGetBucketEncryptionCommand = exports.deserializeAws_restXmlGetBucketCorsCommand = exports.deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlGetBucketAclCommand = exports.deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = exports.deserializeAws_restXmlDeletePublicAccessBlockCommand = exports.deserializeAws_restXmlDeleteObjectTaggingCommand = exports.deserializeAws_restXmlDeleteObjectsCommand = exports.deserializeAws_restXmlDeleteObjectCommand = exports.deserializeAws_restXmlDeleteBucketWebsiteCommand = exports.deserializeAws_restXmlDeleteBucketTaggingCommand = exports.deserializeAws_restXmlDeleteBucketReplicationCommand = exports.deserializeAws_restXmlDeleteBucketPolicyCommand = exports.deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = exports.deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketLifecycleCommand = exports.deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketEncryptionCommand = void 0;
6
- exports.deserializeAws_restXmlWriteGetObjectResponseCommand = exports.deserializeAws_restXmlUploadPartCopyCommand = exports.deserializeAws_restXmlUploadPartCommand = exports.deserializeAws_restXmlSelectObjectContentCommand = exports.deserializeAws_restXmlRestoreObjectCommand = exports.deserializeAws_restXmlPutPublicAccessBlockCommand = exports.deserializeAws_restXmlPutObjectTaggingCommand = exports.deserializeAws_restXmlPutObjectRetentionCommand = exports.deserializeAws_restXmlPutObjectLockConfigurationCommand = exports.deserializeAws_restXmlPutObjectLegalHoldCommand = exports.deserializeAws_restXmlPutObjectAclCommand = exports.deserializeAws_restXmlPutObjectCommand = exports.deserializeAws_restXmlPutBucketWebsiteCommand = exports.deserializeAws_restXmlPutBucketVersioningCommand = exports.deserializeAws_restXmlPutBucketTaggingCommand = exports.deserializeAws_restXmlPutBucketRequestPaymentCommand = exports.deserializeAws_restXmlPutBucketReplicationCommand = exports.deserializeAws_restXmlPutBucketPolicyCommand = exports.deserializeAws_restXmlPutBucketOwnershipControlsCommand = exports.deserializeAws_restXmlPutBucketNotificationConfigurationCommand = exports.deserializeAws_restXmlPutBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlPutBucketLoggingCommand = exports.deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = exports.deserializeAws_restXmlPutBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlPutBucketEncryptionCommand = exports.deserializeAws_restXmlPutBucketCorsCommand = exports.deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlPutBucketAclCommand = exports.deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = exports.deserializeAws_restXmlListPartsCommand = exports.deserializeAws_restXmlListObjectVersionsCommand = exports.deserializeAws_restXmlListObjectsV2Command = exports.deserializeAws_restXmlListObjectsCommand = void 0;
3
+ exports.serializeAws_restXmlGetObjectTorrentCommand = exports.serializeAws_restXmlGetObjectTaggingCommand = exports.serializeAws_restXmlGetObjectRetentionCommand = exports.serializeAws_restXmlGetObjectLockConfigurationCommand = exports.serializeAws_restXmlGetObjectLegalHoldCommand = exports.serializeAws_restXmlGetObjectAttributesCommand = exports.serializeAws_restXmlGetObjectAclCommand = exports.serializeAws_restXmlGetObjectCommand = exports.serializeAws_restXmlGetBucketWebsiteCommand = exports.serializeAws_restXmlGetBucketVersioningCommand = exports.serializeAws_restXmlGetBucketTaggingCommand = exports.serializeAws_restXmlGetBucketRequestPaymentCommand = exports.serializeAws_restXmlGetBucketReplicationCommand = exports.serializeAws_restXmlGetBucketPolicyStatusCommand = exports.serializeAws_restXmlGetBucketPolicyCommand = exports.serializeAws_restXmlGetBucketOwnershipControlsCommand = exports.serializeAws_restXmlGetBucketNotificationConfigurationCommand = exports.serializeAws_restXmlGetBucketMetricsConfigurationCommand = exports.serializeAws_restXmlGetBucketLoggingCommand = exports.serializeAws_restXmlGetBucketLocationCommand = exports.serializeAws_restXmlGetBucketLifecycleConfigurationCommand = exports.serializeAws_restXmlGetBucketInventoryConfigurationCommand = exports.serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlGetBucketEncryptionCommand = exports.serializeAws_restXmlGetBucketCorsCommand = exports.serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlGetBucketAclCommand = exports.serializeAws_restXmlGetBucketAccelerateConfigurationCommand = exports.serializeAws_restXmlDeletePublicAccessBlockCommand = exports.serializeAws_restXmlDeleteObjectTaggingCommand = exports.serializeAws_restXmlDeleteObjectsCommand = exports.serializeAws_restXmlDeleteObjectCommand = exports.serializeAws_restXmlDeleteBucketWebsiteCommand = exports.serializeAws_restXmlDeleteBucketTaggingCommand = exports.serializeAws_restXmlDeleteBucketReplicationCommand = exports.serializeAws_restXmlDeleteBucketPolicyCommand = exports.serializeAws_restXmlDeleteBucketOwnershipControlsCommand = exports.serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = exports.serializeAws_restXmlDeleteBucketLifecycleCommand = exports.serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = exports.serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlDeleteBucketEncryptionCommand = exports.serializeAws_restXmlDeleteBucketCorsCommand = exports.serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlDeleteBucketCommand = exports.serializeAws_restXmlCreateMultipartUploadCommand = exports.serializeAws_restXmlCreateBucketCommand = exports.serializeAws_restXmlCopyObjectCommand = exports.serializeAws_restXmlCompleteMultipartUploadCommand = exports.serializeAws_restXmlAbortMultipartUploadCommand = void 0;
4
+ exports.deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketCommand = exports.deserializeAws_restXmlCreateMultipartUploadCommand = exports.deserializeAws_restXmlCreateBucketCommand = exports.deserializeAws_restXmlCopyObjectCommand = exports.deserializeAws_restXmlCompleteMultipartUploadCommand = exports.deserializeAws_restXmlAbortMultipartUploadCommand = exports.serializeAws_restXmlWriteGetObjectResponseCommand = exports.serializeAws_restXmlUploadPartCopyCommand = exports.serializeAws_restXmlUploadPartCommand = exports.serializeAws_restXmlSelectObjectContentCommand = exports.serializeAws_restXmlRestoreObjectCommand = exports.serializeAws_restXmlPutPublicAccessBlockCommand = exports.serializeAws_restXmlPutObjectTaggingCommand = exports.serializeAws_restXmlPutObjectRetentionCommand = exports.serializeAws_restXmlPutObjectLockConfigurationCommand = exports.serializeAws_restXmlPutObjectLegalHoldCommand = exports.serializeAws_restXmlPutObjectAclCommand = exports.serializeAws_restXmlPutObjectCommand = exports.serializeAws_restXmlPutBucketWebsiteCommand = exports.serializeAws_restXmlPutBucketVersioningCommand = exports.serializeAws_restXmlPutBucketTaggingCommand = exports.serializeAws_restXmlPutBucketRequestPaymentCommand = exports.serializeAws_restXmlPutBucketReplicationCommand = exports.serializeAws_restXmlPutBucketPolicyCommand = exports.serializeAws_restXmlPutBucketOwnershipControlsCommand = exports.serializeAws_restXmlPutBucketNotificationConfigurationCommand = exports.serializeAws_restXmlPutBucketMetricsConfigurationCommand = exports.serializeAws_restXmlPutBucketLoggingCommand = exports.serializeAws_restXmlPutBucketLifecycleConfigurationCommand = exports.serializeAws_restXmlPutBucketInventoryConfigurationCommand = exports.serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = exports.serializeAws_restXmlPutBucketEncryptionCommand = exports.serializeAws_restXmlPutBucketCorsCommand = exports.serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = exports.serializeAws_restXmlPutBucketAclCommand = exports.serializeAws_restXmlPutBucketAccelerateConfigurationCommand = exports.serializeAws_restXmlListPartsCommand = exports.serializeAws_restXmlListObjectVersionsCommand = exports.serializeAws_restXmlListObjectsV2Command = exports.serializeAws_restXmlListObjectsCommand = exports.serializeAws_restXmlListMultipartUploadsCommand = exports.serializeAws_restXmlListBucketsCommand = exports.serializeAws_restXmlListBucketMetricsConfigurationsCommand = exports.serializeAws_restXmlListBucketInventoryConfigurationsCommand = exports.serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = exports.serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = exports.serializeAws_restXmlHeadObjectCommand = exports.serializeAws_restXmlHeadBucketCommand = exports.serializeAws_restXmlGetPublicAccessBlockCommand = void 0;
5
+ exports.deserializeAws_restXmlListBucketMetricsConfigurationsCommand = exports.deserializeAws_restXmlListBucketInventoryConfigurationsCommand = exports.deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = exports.deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = exports.deserializeAws_restXmlHeadObjectCommand = exports.deserializeAws_restXmlHeadBucketCommand = exports.deserializeAws_restXmlGetPublicAccessBlockCommand = exports.deserializeAws_restXmlGetObjectTorrentCommand = exports.deserializeAws_restXmlGetObjectTaggingCommand = exports.deserializeAws_restXmlGetObjectRetentionCommand = exports.deserializeAws_restXmlGetObjectLockConfigurationCommand = exports.deserializeAws_restXmlGetObjectLegalHoldCommand = exports.deserializeAws_restXmlGetObjectAttributesCommand = exports.deserializeAws_restXmlGetObjectAclCommand = exports.deserializeAws_restXmlGetObjectCommand = exports.deserializeAws_restXmlGetBucketWebsiteCommand = exports.deserializeAws_restXmlGetBucketVersioningCommand = exports.deserializeAws_restXmlGetBucketTaggingCommand = exports.deserializeAws_restXmlGetBucketRequestPaymentCommand = exports.deserializeAws_restXmlGetBucketReplicationCommand = exports.deserializeAws_restXmlGetBucketPolicyStatusCommand = exports.deserializeAws_restXmlGetBucketPolicyCommand = exports.deserializeAws_restXmlGetBucketOwnershipControlsCommand = exports.deserializeAws_restXmlGetBucketNotificationConfigurationCommand = exports.deserializeAws_restXmlGetBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlGetBucketLoggingCommand = exports.deserializeAws_restXmlGetBucketLocationCommand = exports.deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = exports.deserializeAws_restXmlGetBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlGetBucketEncryptionCommand = exports.deserializeAws_restXmlGetBucketCorsCommand = exports.deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlGetBucketAclCommand = exports.deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = exports.deserializeAws_restXmlDeletePublicAccessBlockCommand = exports.deserializeAws_restXmlDeleteObjectTaggingCommand = exports.deserializeAws_restXmlDeleteObjectsCommand = exports.deserializeAws_restXmlDeleteObjectCommand = exports.deserializeAws_restXmlDeleteBucketWebsiteCommand = exports.deserializeAws_restXmlDeleteBucketTaggingCommand = exports.deserializeAws_restXmlDeleteBucketReplicationCommand = exports.deserializeAws_restXmlDeleteBucketPolicyCommand = exports.deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = exports.deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketLifecycleCommand = exports.deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlDeleteBucketEncryptionCommand = exports.deserializeAws_restXmlDeleteBucketCorsCommand = void 0;
6
+ exports.deserializeAws_restXmlWriteGetObjectResponseCommand = exports.deserializeAws_restXmlUploadPartCopyCommand = exports.deserializeAws_restXmlUploadPartCommand = exports.deserializeAws_restXmlSelectObjectContentCommand = exports.deserializeAws_restXmlRestoreObjectCommand = exports.deserializeAws_restXmlPutPublicAccessBlockCommand = exports.deserializeAws_restXmlPutObjectTaggingCommand = exports.deserializeAws_restXmlPutObjectRetentionCommand = exports.deserializeAws_restXmlPutObjectLockConfigurationCommand = exports.deserializeAws_restXmlPutObjectLegalHoldCommand = exports.deserializeAws_restXmlPutObjectAclCommand = exports.deserializeAws_restXmlPutObjectCommand = exports.deserializeAws_restXmlPutBucketWebsiteCommand = exports.deserializeAws_restXmlPutBucketVersioningCommand = exports.deserializeAws_restXmlPutBucketTaggingCommand = exports.deserializeAws_restXmlPutBucketRequestPaymentCommand = exports.deserializeAws_restXmlPutBucketReplicationCommand = exports.deserializeAws_restXmlPutBucketPolicyCommand = exports.deserializeAws_restXmlPutBucketOwnershipControlsCommand = exports.deserializeAws_restXmlPutBucketNotificationConfigurationCommand = exports.deserializeAws_restXmlPutBucketMetricsConfigurationCommand = exports.deserializeAws_restXmlPutBucketLoggingCommand = exports.deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = exports.deserializeAws_restXmlPutBucketInventoryConfigurationCommand = exports.deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = exports.deserializeAws_restXmlPutBucketEncryptionCommand = exports.deserializeAws_restXmlPutBucketCorsCommand = exports.deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = exports.deserializeAws_restXmlPutBucketAclCommand = exports.deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = exports.deserializeAws_restXmlListPartsCommand = exports.deserializeAws_restXmlListObjectVersionsCommand = exports.deserializeAws_restXmlListObjectsV2Command = exports.deserializeAws_restXmlListObjectsCommand = exports.deserializeAws_restXmlListMultipartUploadsCommand = exports.deserializeAws_restXmlListBucketsCommand = void 0;
7
7
  const protocol_http_1 = require("@aws-sdk/protocol-http");
8
8
  const smithy_client_1 = require("@aws-sdk/smithy-client");
9
9
  const xml_builder_1 = require("@aws-sdk/xml-builder");
10
10
  const entities_1 = require("entities");
11
11
  const fast_xml_parser_1 = require("fast-xml-parser");
12
12
  const models_0_1 = require("../models/models_0");
13
+ const models_1_1 = require("../models/models_1");
14
+ const S3ServiceException_1 = require("../models/S3ServiceException");
13
15
  const serializeAws_restXmlAbortMultipartUploadCommand = async (input, context) => {
14
16
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
15
17
  const headers = {
@@ -63,10 +65,23 @@ const serializeAws_restXmlCompleteMultipartUploadCommand = async (input, context
63
65
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
64
66
  const headers = {
65
67
  "content-type": "application/xml",
68
+ ...(isSerializableHeaderValue(input.ChecksumCRC32) && { "x-amz-checksum-crc32": input.ChecksumCRC32 }),
69
+ ...(isSerializableHeaderValue(input.ChecksumCRC32C) && { "x-amz-checksum-crc32c": input.ChecksumCRC32C }),
70
+ ...(isSerializableHeaderValue(input.ChecksumSHA1) && { "x-amz-checksum-sha1": input.ChecksumSHA1 }),
71
+ ...(isSerializableHeaderValue(input.ChecksumSHA256) && { "x-amz-checksum-sha256": input.ChecksumSHA256 }),
66
72
  ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer }),
67
73
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
68
74
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
69
75
  }),
76
+ ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {
77
+ "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm,
78
+ }),
79
+ ...(isSerializableHeaderValue(input.SSECustomerKey) && {
80
+ "x-amz-server-side-encryption-customer-key": input.SSECustomerKey,
81
+ }),
82
+ ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {
83
+ "x-amz-server-side-encryption-customer-key-md5": input.SSECustomerKeyMD5,
84
+ }),
70
85
  };
71
86
  let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/{Bucket}/{Key+}";
72
87
  if (input.Bucket !== undefined) {
@@ -125,6 +140,7 @@ const serializeAws_restXmlCopyObjectCommand = async (input, context) => {
125
140
  const headers = {
126
141
  ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL }),
127
142
  ...(isSerializableHeaderValue(input.CacheControl) && { "cache-control": input.CacheControl }),
143
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && { "x-amz-checksum-algorithm": input.ChecksumAlgorithm }),
128
144
  ...(isSerializableHeaderValue(input.ContentDisposition) && { "content-disposition": input.ContentDisposition }),
129
145
  ...(isSerializableHeaderValue(input.ContentEncoding) && { "content-encoding": input.ContentEncoding }),
130
146
  ...(isSerializableHeaderValue(input.ContentLanguage) && { "content-language": input.ContentLanguage }),
@@ -343,6 +359,7 @@ const serializeAws_restXmlCreateMultipartUploadCommand = async (input, context)
343
359
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
344
360
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
345
361
  }),
362
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && { "x-amz-checksum-algorithm": input.ChecksumAlgorithm }),
346
363
  ...(input.Metadata !== undefined &&
347
364
  Object.keys(input.Metadata).reduce((acc, suffix) => ({
348
365
  ...acc,
@@ -893,6 +910,9 @@ const serializeAws_restXmlDeleteObjectsCommand = async (input, context) => {
893
910
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
894
911
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
895
912
  }),
913
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
914
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
915
+ }),
896
916
  };
897
917
  let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/{Bucket}";
898
918
  if (input.Bucket !== undefined) {
@@ -1723,6 +1743,7 @@ const serializeAws_restXmlGetObjectCommand = async (input, context) => {
1723
1743
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
1724
1744
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
1725
1745
  }),
1746
+ ...(isSerializableHeaderValue(input.ChecksumMode) && { "x-amz-checksum-mode": input.ChecksumMode }),
1726
1747
  };
1727
1748
  let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/{Bucket}/{Key+}";
1728
1749
  if (input.Bucket !== undefined) {
@@ -1825,6 +1846,69 @@ const serializeAws_restXmlGetObjectAclCommand = async (input, context) => {
1825
1846
  });
1826
1847
  };
1827
1848
  exports.serializeAws_restXmlGetObjectAclCommand = serializeAws_restXmlGetObjectAclCommand;
1849
+ const serializeAws_restXmlGetObjectAttributesCommand = async (input, context) => {
1850
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1851
+ const headers = {
1852
+ ...(isSerializableHeaderValue(input.MaxParts) && { "x-amz-max-parts": input.MaxParts.toString() }),
1853
+ ...(isSerializableHeaderValue(input.PartNumberMarker) && { "x-amz-part-number-marker": input.PartNumberMarker }),
1854
+ ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {
1855
+ "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm,
1856
+ }),
1857
+ ...(isSerializableHeaderValue(input.SSECustomerKey) && {
1858
+ "x-amz-server-side-encryption-customer-key": input.SSECustomerKey,
1859
+ }),
1860
+ ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {
1861
+ "x-amz-server-side-encryption-customer-key-md5": input.SSECustomerKeyMD5,
1862
+ }),
1863
+ ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer }),
1864
+ ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
1865
+ "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
1866
+ }),
1867
+ ...(isSerializableHeaderValue(input.ObjectAttributes) && {
1868
+ "x-amz-object-attributes": (input.ObjectAttributes || []).map((_entry) => _entry).join(", "),
1869
+ }),
1870
+ };
1871
+ let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/{Bucket}/{Key+}";
1872
+ if (input.Bucket !== undefined) {
1873
+ const labelValue = input.Bucket;
1874
+ if (labelValue.length <= 0) {
1875
+ throw new Error("Empty value provided for input HTTP label: Bucket.");
1876
+ }
1877
+ resolvedPath = resolvedPath.replace("{Bucket}", smithy_client_1.extendedEncodeURIComponent(labelValue));
1878
+ }
1879
+ else {
1880
+ throw new Error("No value provided for input HTTP label: Bucket.");
1881
+ }
1882
+ if (input.Key !== undefined) {
1883
+ const labelValue = input.Key;
1884
+ if (labelValue.length <= 0) {
1885
+ throw new Error("Empty value provided for input HTTP label: Key.");
1886
+ }
1887
+ resolvedPath = resolvedPath.replace("{Key+}", labelValue
1888
+ .split("/")
1889
+ .map((segment) => smithy_client_1.extendedEncodeURIComponent(segment))
1890
+ .join("/"));
1891
+ }
1892
+ else {
1893
+ throw new Error("No value provided for input HTTP label: Key.");
1894
+ }
1895
+ const query = {
1896
+ attributes: "",
1897
+ ...(input.VersionId !== undefined && { versionId: input.VersionId }),
1898
+ };
1899
+ let body;
1900
+ return new protocol_http_1.HttpRequest({
1901
+ protocol,
1902
+ hostname,
1903
+ port,
1904
+ method: "GET",
1905
+ headers,
1906
+ path: resolvedPath,
1907
+ query,
1908
+ body,
1909
+ });
1910
+ };
1911
+ exports.serializeAws_restXmlGetObjectAttributesCommand = serializeAws_restXmlGetObjectAttributesCommand;
1828
1912
  const serializeAws_restXmlGetObjectLegalHoldCommand = async (input, context) => {
1829
1913
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1830
1914
  const headers = {
@@ -2143,6 +2227,7 @@ const serializeAws_restXmlHeadObjectCommand = async (input, context) => {
2143
2227
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
2144
2228
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
2145
2229
  }),
2230
+ ...(isSerializableHeaderValue(input.ChecksumMode) && { "x-amz-checksum-mode": input.ChecksumMode }),
2146
2231
  };
2147
2232
  let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/{Bucket}/{Key+}";
2148
2233
  if (input.Bucket !== undefined) {
@@ -2512,6 +2597,15 @@ const serializeAws_restXmlListPartsCommand = async (input, context) => {
2512
2597
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
2513
2598
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
2514
2599
  }),
2600
+ ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {
2601
+ "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm,
2602
+ }),
2603
+ ...(isSerializableHeaderValue(input.SSECustomerKey) && {
2604
+ "x-amz-server-side-encryption-customer-key": input.SSECustomerKey,
2605
+ }),
2606
+ ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {
2607
+ "x-amz-server-side-encryption-customer-key-md5": input.SSECustomerKeyMD5,
2608
+ }),
2515
2609
  };
2516
2610
  let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/{Bucket}/{Key+}";
2517
2611
  if (input.Bucket !== undefined) {
@@ -2563,6 +2657,9 @@ const serializeAws_restXmlPutBucketAccelerateConfigurationCommand = async (input
2563
2657
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
2564
2658
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
2565
2659
  }),
2660
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
2661
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
2662
+ }),
2566
2663
  };
2567
2664
  let resolvedPath = `${(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith("/")) ? basePath.slice(0, -1) : basePath || ""}` + "/{Bucket}";
2568
2665
  if (input.Bucket !== undefined) {
@@ -2607,6 +2704,9 @@ const serializeAws_restXmlPutBucketAclCommand = async (input, context) => {
2607
2704
  "content-type": "application/xml",
2608
2705
  ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL }),
2609
2706
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
2707
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
2708
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
2709
+ }),
2610
2710
  ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl }),
2611
2711
  ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead }),
2612
2712
  ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP }),
@@ -2704,6 +2804,9 @@ const serializeAws_restXmlPutBucketCorsCommand = async (input, context) => {
2704
2804
  const headers = {
2705
2805
  "content-type": "application/xml",
2706
2806
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
2807
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
2808
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
2809
+ }),
2707
2810
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
2708
2811
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
2709
2812
  }),
@@ -2750,6 +2853,9 @@ const serializeAws_restXmlPutBucketEncryptionCommand = async (input, context) =>
2750
2853
  const headers = {
2751
2854
  "content-type": "application/xml",
2752
2855
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
2856
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
2857
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
2858
+ }),
2753
2859
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
2754
2860
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
2755
2861
  }),
@@ -2884,6 +2990,9 @@ const serializeAws_restXmlPutBucketLifecycleConfigurationCommand = async (input,
2884
2990
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
2885
2991
  const headers = {
2886
2992
  "content-type": "application/xml",
2993
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
2994
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
2995
+ }),
2887
2996
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
2888
2997
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
2889
2998
  }),
@@ -2931,6 +3040,9 @@ const serializeAws_restXmlPutBucketLoggingCommand = async (input, context) => {
2931
3040
  const headers = {
2932
3041
  "content-type": "application/xml",
2933
3042
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3043
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3044
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3045
+ }),
2934
3046
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
2935
3047
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
2936
3048
  }),
@@ -3117,6 +3229,9 @@ const serializeAws_restXmlPutBucketPolicyCommand = async (input, context) => {
3117
3229
  const headers = {
3118
3230
  "content-type": "text/plain",
3119
3231
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3232
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3233
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3234
+ }),
3120
3235
  ...(isSerializableHeaderValue(input.ConfirmRemoveSelfBucketAccess) && {
3121
3236
  "x-amz-confirm-remove-self-bucket-access": input.ConfirmRemoveSelfBucketAccess.toString(),
3122
3237
  }),
@@ -3164,6 +3279,9 @@ const serializeAws_restXmlPutBucketReplicationCommand = async (input, context) =
3164
3279
  const headers = {
3165
3280
  "content-type": "application/xml",
3166
3281
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3282
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3283
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3284
+ }),
3167
3285
  ...(isSerializableHeaderValue(input.Token) && { "x-amz-bucket-object-lock-token": input.Token }),
3168
3286
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3169
3287
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
@@ -3211,6 +3329,9 @@ const serializeAws_restXmlPutBucketRequestPaymentCommand = async (input, context
3211
3329
  const headers = {
3212
3330
  "content-type": "application/xml",
3213
3331
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3332
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3333
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3334
+ }),
3214
3335
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3215
3336
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
3216
3337
  }),
@@ -3257,6 +3378,9 @@ const serializeAws_restXmlPutBucketTaggingCommand = async (input, context) => {
3257
3378
  const headers = {
3258
3379
  "content-type": "application/xml",
3259
3380
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3381
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3382
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3383
+ }),
3260
3384
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3261
3385
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
3262
3386
  }),
@@ -3303,6 +3427,9 @@ const serializeAws_restXmlPutBucketVersioningCommand = async (input, context) =>
3303
3427
  const headers = {
3304
3428
  "content-type": "application/xml",
3305
3429
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3430
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3431
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3432
+ }),
3306
3433
  ...(isSerializableHeaderValue(input.MFA) && { "x-amz-mfa": input.MFA }),
3307
3434
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3308
3435
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
@@ -3350,6 +3477,9 @@ const serializeAws_restXmlPutBucketWebsiteCommand = async (input, context) => {
3350
3477
  const headers = {
3351
3478
  "content-type": "application/xml",
3352
3479
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3480
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3481
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3482
+ }),
3353
3483
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3354
3484
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
3355
3485
  }),
@@ -3403,6 +3533,13 @@ const serializeAws_restXmlPutObjectCommand = async (input, context) => {
3403
3533
  ...(isSerializableHeaderValue(input.ContentLength) && { "content-length": input.ContentLength.toString() }),
3404
3534
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3405
3535
  ...(isSerializableHeaderValue(input.ContentType) && { "content-type": input.ContentType }),
3536
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3537
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3538
+ }),
3539
+ ...(isSerializableHeaderValue(input.ChecksumCRC32) && { "x-amz-checksum-crc32": input.ChecksumCRC32 }),
3540
+ ...(isSerializableHeaderValue(input.ChecksumCRC32C) && { "x-amz-checksum-crc32c": input.ChecksumCRC32C }),
3541
+ ...(isSerializableHeaderValue(input.ChecksumSHA1) && { "x-amz-checksum-sha1": input.ChecksumSHA1 }),
3542
+ ...(isSerializableHeaderValue(input.ChecksumSHA256) && { "x-amz-checksum-sha256": input.ChecksumSHA256 }),
3406
3543
  ...(isSerializableHeaderValue(input.Expires) && { expires: smithy_client_1.dateToUtcString(input.Expires).toString() }),
3407
3544
  ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl }),
3408
3545
  ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead }),
@@ -3505,6 +3642,9 @@ const serializeAws_restXmlPutObjectAclCommand = async (input, context) => {
3505
3642
  "content-type": "application/xml",
3506
3643
  ...(isSerializableHeaderValue(input.ACL) && { "x-amz-acl": input.ACL }),
3507
3644
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3645
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3646
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3647
+ }),
3508
3648
  ...(isSerializableHeaderValue(input.GrantFullControl) && { "x-amz-grant-full-control": input.GrantFullControl }),
3509
3649
  ...(isSerializableHeaderValue(input.GrantRead) && { "x-amz-grant-read": input.GrantRead }),
3510
3650
  ...(isSerializableHeaderValue(input.GrantReadACP) && { "x-amz-grant-read-acp": input.GrantReadACP }),
@@ -3572,6 +3712,9 @@ const serializeAws_restXmlPutObjectLegalHoldCommand = async (input, context) =>
3572
3712
  "content-type": "application/xml",
3573
3713
  ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer }),
3574
3714
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3715
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3716
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3717
+ }),
3575
3718
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3576
3719
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
3577
3720
  }),
@@ -3635,6 +3778,9 @@ const serializeAws_restXmlPutObjectLockConfigurationCommand = async (input, cont
3635
3778
  ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer }),
3636
3779
  ...(isSerializableHeaderValue(input.Token) && { "x-amz-bucket-object-lock-token": input.Token }),
3637
3780
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3781
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3782
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3783
+ }),
3638
3784
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3639
3785
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
3640
3786
  }),
@@ -3685,6 +3831,9 @@ const serializeAws_restXmlPutObjectRetentionCommand = async (input, context) =>
3685
3831
  "x-amz-bypass-governance-retention": input.BypassGovernanceRetention.toString(),
3686
3832
  }),
3687
3833
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3834
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3835
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3836
+ }),
3688
3837
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3689
3838
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
3690
3839
  }),
@@ -3746,6 +3895,9 @@ const serializeAws_restXmlPutObjectTaggingCommand = async (input, context) => {
3746
3895
  const headers = {
3747
3896
  "content-type": "application/xml",
3748
3897
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3898
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3899
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3900
+ }),
3749
3901
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3750
3902
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
3751
3903
  }),
@@ -3807,6 +3959,9 @@ const serializeAws_restXmlPutPublicAccessBlockCommand = async (input, context) =
3807
3959
  const headers = {
3808
3960
  "content-type": "application/xml",
3809
3961
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
3962
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
3963
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
3964
+ }),
3810
3965
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3811
3966
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
3812
3967
  }),
@@ -3853,6 +4008,9 @@ const serializeAws_restXmlRestoreObjectCommand = async (input, context) => {
3853
4008
  const headers = {
3854
4009
  "content-type": "application/xml",
3855
4010
  ...(isSerializableHeaderValue(input.RequestPayer) && { "x-amz-request-payer": input.RequestPayer }),
4011
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
4012
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
4013
+ }),
3856
4014
  ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {
3857
4015
  "x-amz-expected-bucket-owner": input.ExpectedBucketOwner,
3858
4016
  }),
@@ -4004,6 +4162,13 @@ const serializeAws_restXmlUploadPartCommand = async (input, context) => {
4004
4162
  "content-type": "application/octet-stream",
4005
4163
  ...(isSerializableHeaderValue(input.ContentLength) && { "content-length": input.ContentLength.toString() }),
4006
4164
  ...(isSerializableHeaderValue(input.ContentMD5) && { "content-md5": input.ContentMD5 }),
4165
+ ...(isSerializableHeaderValue(input.ChecksumAlgorithm) && {
4166
+ "x-amz-sdk-checksum-algorithm": input.ChecksumAlgorithm,
4167
+ }),
4168
+ ...(isSerializableHeaderValue(input.ChecksumCRC32) && { "x-amz-checksum-crc32": input.ChecksumCRC32 }),
4169
+ ...(isSerializableHeaderValue(input.ChecksumCRC32C) && { "x-amz-checksum-crc32c": input.ChecksumCRC32C }),
4170
+ ...(isSerializableHeaderValue(input.ChecksumSHA1) && { "x-amz-checksum-sha1": input.ChecksumSHA1 }),
4171
+ ...(isSerializableHeaderValue(input.ChecksumSHA256) && { "x-amz-checksum-sha256": input.ChecksumSHA256 }),
4007
4172
  ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {
4008
4173
  "x-amz-server-side-encryption-customer-algorithm": input.SSECustomerAlgorithm,
4009
4174
  }),
@@ -4177,6 +4342,18 @@ const serializeAws_restXmlWriteGetObjectResponseCommand = async (input, context)
4177
4342
  ...(isSerializableHeaderValue(input.ContentLength) && { "content-length": input.ContentLength.toString() }),
4178
4343
  ...(isSerializableHeaderValue(input.ContentRange) && { "x-amz-fwd-header-content-range": input.ContentRange }),
4179
4344
  ...(isSerializableHeaderValue(input.ContentType) && { "x-amz-fwd-header-content-type": input.ContentType }),
4345
+ ...(isSerializableHeaderValue(input.ChecksumCRC32) && {
4346
+ "x-amz-fwd-header-x-amz-checksum-crc32": input.ChecksumCRC32,
4347
+ }),
4348
+ ...(isSerializableHeaderValue(input.ChecksumCRC32C) && {
4349
+ "x-amz-fwd-header-x-amz-checksum-crc32c": input.ChecksumCRC32C,
4350
+ }),
4351
+ ...(isSerializableHeaderValue(input.ChecksumSHA1) && {
4352
+ "x-amz-fwd-header-x-amz-checksum-sha1": input.ChecksumSHA1,
4353
+ }),
4354
+ ...(isSerializableHeaderValue(input.ChecksumSHA256) && {
4355
+ "x-amz-fwd-header-x-amz-checksum-sha256": input.ChecksumSHA256,
4356
+ }),
4180
4357
  ...(isSerializableHeaderValue(input.DeleteMarker) && {
4181
4358
  "x-amz-fwd-header-x-amz-delete-marker": input.DeleteMarker.toString(),
4182
4359
  }),
@@ -4300,27 +4477,16 @@ const deserializeAws_restXmlAbortMultipartUploadCommandError = async (output, co
4300
4477
  switch (errorCode) {
4301
4478
  case "NoSuchUpload":
4302
4479
  case "com.amazonaws.s3#NoSuchUpload":
4303
- response = {
4304
- ...(await deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context)),
4305
- name: errorCode,
4306
- $metadata: deserializeMetadata(output),
4307
- };
4308
- break;
4480
+ throw await deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context);
4309
4481
  default:
4310
4482
  const parsedBody = parsedOutput.body;
4311
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4312
- response = {
4313
- ...parsedBody,
4314
- name: `${errorCode}`,
4315
- message: parsedBody.message || parsedBody.Message || errorCode,
4483
+ response = new S3ServiceException_1.S3ServiceException({
4484
+ name: parsedBody.code || parsedBody.Code || errorCode,
4316
4485
  $fault: "client",
4317
4486
  $metadata: deserializeMetadata(output),
4318
- };
4487
+ });
4488
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4319
4489
  }
4320
- const message = response.message || response.Message || errorCode;
4321
- response.message = message;
4322
- delete response.Message;
4323
- return Promise.reject(Object.assign(new Error(message), response));
4324
4490
  };
4325
4491
  const deserializeAws_restXmlCompleteMultipartUploadCommand = async (output, context) => {
4326
4492
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -4330,6 +4496,10 @@ const deserializeAws_restXmlCompleteMultipartUploadCommand = async (output, cont
4330
4496
  $metadata: deserializeMetadata(output),
4331
4497
  Bucket: undefined,
4332
4498
  BucketKeyEnabled: undefined,
4499
+ ChecksumCRC32: undefined,
4500
+ ChecksumCRC32C: undefined,
4501
+ ChecksumSHA1: undefined,
4502
+ ChecksumSHA256: undefined,
4333
4503
  ETag: undefined,
4334
4504
  Expiration: undefined,
4335
4505
  Key: undefined,
@@ -4361,6 +4531,18 @@ const deserializeAws_restXmlCompleteMultipartUploadCommand = async (output, cont
4361
4531
  if (data["Bucket"] !== undefined) {
4362
4532
  contents.Bucket = smithy_client_1.expectString(data["Bucket"]);
4363
4533
  }
4534
+ if (data["ChecksumCRC32"] !== undefined) {
4535
+ contents.ChecksumCRC32 = smithy_client_1.expectString(data["ChecksumCRC32"]);
4536
+ }
4537
+ if (data["ChecksumCRC32C"] !== undefined) {
4538
+ contents.ChecksumCRC32C = smithy_client_1.expectString(data["ChecksumCRC32C"]);
4539
+ }
4540
+ if (data["ChecksumSHA1"] !== undefined) {
4541
+ contents.ChecksumSHA1 = smithy_client_1.expectString(data["ChecksumSHA1"]);
4542
+ }
4543
+ if (data["ChecksumSHA256"] !== undefined) {
4544
+ contents.ChecksumSHA256 = smithy_client_1.expectString(data["ChecksumSHA256"]);
4545
+ }
4364
4546
  if (data["ETag"] !== undefined) {
4365
4547
  contents.ETag = smithy_client_1.expectString(data["ETag"]);
4366
4548
  }
@@ -4384,19 +4566,13 @@ const deserializeAws_restXmlCompleteMultipartUploadCommandError = async (output,
4384
4566
  switch (errorCode) {
4385
4567
  default:
4386
4568
  const parsedBody = parsedOutput.body;
4387
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4388
- response = {
4389
- ...parsedBody,
4390
- name: `${errorCode}`,
4391
- message: parsedBody.message || parsedBody.Message || errorCode,
4569
+ response = new S3ServiceException_1.S3ServiceException({
4570
+ name: parsedBody.code || parsedBody.Code || errorCode,
4392
4571
  $fault: "client",
4393
4572
  $metadata: deserializeMetadata(output),
4394
- };
4573
+ });
4574
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4395
4575
  }
4396
- const message = response.message || response.Message || errorCode;
4397
- response.message = message;
4398
- delete response.Message;
4399
- return Promise.reject(Object.assign(new Error(message), response));
4400
4576
  };
4401
4577
  const deserializeAws_restXmlCopyObjectCommand = async (output, context) => {
4402
4578
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -4462,27 +4638,16 @@ const deserializeAws_restXmlCopyObjectCommandError = async (output, context) =>
4462
4638
  switch (errorCode) {
4463
4639
  case "ObjectNotInActiveTierError":
4464
4640
  case "com.amazonaws.s3#ObjectNotInActiveTierError":
4465
- response = {
4466
- ...(await deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context)),
4467
- name: errorCode,
4468
- $metadata: deserializeMetadata(output),
4469
- };
4470
- break;
4641
+ throw await deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context);
4471
4642
  default:
4472
4643
  const parsedBody = parsedOutput.body;
4473
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4474
- response = {
4475
- ...parsedBody,
4476
- name: `${errorCode}`,
4477
- message: parsedBody.message || parsedBody.Message || errorCode,
4644
+ response = new S3ServiceException_1.S3ServiceException({
4645
+ name: parsedBody.code || parsedBody.Code || errorCode,
4478
4646
  $fault: "client",
4479
4647
  $metadata: deserializeMetadata(output),
4480
- };
4648
+ });
4649
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4481
4650
  }
4482
- const message = response.message || response.Message || errorCode;
4483
- response.message = message;
4484
- delete response.Message;
4485
- return Promise.reject(Object.assign(new Error(message), response));
4486
4651
  };
4487
4652
  const deserializeAws_restXmlCreateBucketCommand = async (output, context) => {
4488
4653
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -4510,35 +4675,19 @@ const deserializeAws_restXmlCreateBucketCommandError = async (output, context) =
4510
4675
  switch (errorCode) {
4511
4676
  case "BucketAlreadyExists":
4512
4677
  case "com.amazonaws.s3#BucketAlreadyExists":
4513
- response = {
4514
- ...(await deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context)),
4515
- name: errorCode,
4516
- $metadata: deserializeMetadata(output),
4517
- };
4518
- break;
4678
+ throw await deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context);
4519
4679
  case "BucketAlreadyOwnedByYou":
4520
4680
  case "com.amazonaws.s3#BucketAlreadyOwnedByYou":
4521
- response = {
4522
- ...(await deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context)),
4523
- name: errorCode,
4524
- $metadata: deserializeMetadata(output),
4525
- };
4526
- break;
4681
+ throw await deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context);
4527
4682
  default:
4528
4683
  const parsedBody = parsedOutput.body;
4529
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4530
- response = {
4531
- ...parsedBody,
4532
- name: `${errorCode}`,
4533
- message: parsedBody.message || parsedBody.Message || errorCode,
4684
+ response = new S3ServiceException_1.S3ServiceException({
4685
+ name: parsedBody.code || parsedBody.Code || errorCode,
4534
4686
  $fault: "client",
4535
4687
  $metadata: deserializeMetadata(output),
4536
- };
4688
+ });
4689
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4537
4690
  }
4538
- const message = response.message || response.Message || errorCode;
4539
- response.message = message;
4540
- delete response.Message;
4541
- return Promise.reject(Object.assign(new Error(message), response));
4542
4691
  };
4543
4692
  const deserializeAws_restXmlCreateMultipartUploadCommand = async (output, context) => {
4544
4693
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -4550,6 +4699,7 @@ const deserializeAws_restXmlCreateMultipartUploadCommand = async (output, contex
4550
4699
  AbortRuleId: undefined,
4551
4700
  Bucket: undefined,
4552
4701
  BucketKeyEnabled: undefined,
4702
+ ChecksumAlgorithm: undefined,
4553
4703
  Key: undefined,
4554
4704
  RequestCharged: undefined,
4555
4705
  SSECustomerAlgorithm: undefined,
@@ -4586,6 +4736,9 @@ const deserializeAws_restXmlCreateMultipartUploadCommand = async (output, contex
4586
4736
  if (output.headers["x-amz-request-charged"] !== undefined) {
4587
4737
  contents.RequestCharged = output.headers["x-amz-request-charged"];
4588
4738
  }
4739
+ if (output.headers["x-amz-checksum-algorithm"] !== undefined) {
4740
+ contents.ChecksumAlgorithm = output.headers["x-amz-checksum-algorithm"];
4741
+ }
4589
4742
  const data = smithy_client_1.expectNonNull(smithy_client_1.expectObject(await parseBody(output.body, context)), "body");
4590
4743
  if (data["Bucket"] !== undefined) {
4591
4744
  contents.Bucket = smithy_client_1.expectString(data["Bucket"]);
@@ -4610,19 +4763,13 @@ const deserializeAws_restXmlCreateMultipartUploadCommandError = async (output, c
4610
4763
  switch (errorCode) {
4611
4764
  default:
4612
4765
  const parsedBody = parsedOutput.body;
4613
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4614
- response = {
4615
- ...parsedBody,
4616
- name: `${errorCode}`,
4617
- message: parsedBody.message || parsedBody.Message || errorCode,
4766
+ response = new S3ServiceException_1.S3ServiceException({
4767
+ name: parsedBody.code || parsedBody.Code || errorCode,
4618
4768
  $fault: "client",
4619
4769
  $metadata: deserializeMetadata(output),
4620
- };
4770
+ });
4771
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4621
4772
  }
4622
- const message = response.message || response.Message || errorCode;
4623
- response.message = message;
4624
- delete response.Message;
4625
- return Promise.reject(Object.assign(new Error(message), response));
4626
4773
  };
4627
4774
  const deserializeAws_restXmlDeleteBucketCommand = async (output, context) => {
4628
4775
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4646,19 +4793,13 @@ const deserializeAws_restXmlDeleteBucketCommandError = async (output, context) =
4646
4793
  switch (errorCode) {
4647
4794
  default:
4648
4795
  const parsedBody = parsedOutput.body;
4649
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4650
- response = {
4651
- ...parsedBody,
4652
- name: `${errorCode}`,
4653
- message: parsedBody.message || parsedBody.Message || errorCode,
4796
+ response = new S3ServiceException_1.S3ServiceException({
4797
+ name: parsedBody.code || parsedBody.Code || errorCode,
4654
4798
  $fault: "client",
4655
4799
  $metadata: deserializeMetadata(output),
4656
- };
4800
+ });
4801
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4657
4802
  }
4658
- const message = response.message || response.Message || errorCode;
4659
- response.message = message;
4660
- delete response.Message;
4661
- return Promise.reject(Object.assign(new Error(message), response));
4662
4803
  };
4663
4804
  const deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = async (output, context) => {
4664
4805
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4682,19 +4823,13 @@ const deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError = asy
4682
4823
  switch (errorCode) {
4683
4824
  default:
4684
4825
  const parsedBody = parsedOutput.body;
4685
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4686
- response = {
4687
- ...parsedBody,
4688
- name: `${errorCode}`,
4689
- message: parsedBody.message || parsedBody.Message || errorCode,
4826
+ response = new S3ServiceException_1.S3ServiceException({
4827
+ name: parsedBody.code || parsedBody.Code || errorCode,
4690
4828
  $fault: "client",
4691
4829
  $metadata: deserializeMetadata(output),
4692
- };
4830
+ });
4831
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4693
4832
  }
4694
- const message = response.message || response.Message || errorCode;
4695
- response.message = message;
4696
- delete response.Message;
4697
- return Promise.reject(Object.assign(new Error(message), response));
4698
4833
  };
4699
4834
  const deserializeAws_restXmlDeleteBucketCorsCommand = async (output, context) => {
4700
4835
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4718,19 +4853,13 @@ const deserializeAws_restXmlDeleteBucketCorsCommandError = async (output, contex
4718
4853
  switch (errorCode) {
4719
4854
  default:
4720
4855
  const parsedBody = parsedOutput.body;
4721
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4722
- response = {
4723
- ...parsedBody,
4724
- name: `${errorCode}`,
4725
- message: parsedBody.message || parsedBody.Message || errorCode,
4856
+ response = new S3ServiceException_1.S3ServiceException({
4857
+ name: parsedBody.code || parsedBody.Code || errorCode,
4726
4858
  $fault: "client",
4727
4859
  $metadata: deserializeMetadata(output),
4728
- };
4860
+ });
4861
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4729
4862
  }
4730
- const message = response.message || response.Message || errorCode;
4731
- response.message = message;
4732
- delete response.Message;
4733
- return Promise.reject(Object.assign(new Error(message), response));
4734
4863
  };
4735
4864
  const deserializeAws_restXmlDeleteBucketEncryptionCommand = async (output, context) => {
4736
4865
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4754,19 +4883,13 @@ const deserializeAws_restXmlDeleteBucketEncryptionCommandError = async (output,
4754
4883
  switch (errorCode) {
4755
4884
  default:
4756
4885
  const parsedBody = parsedOutput.body;
4757
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4758
- response = {
4759
- ...parsedBody,
4760
- name: `${errorCode}`,
4761
- message: parsedBody.message || parsedBody.Message || errorCode,
4886
+ response = new S3ServiceException_1.S3ServiceException({
4887
+ name: parsedBody.code || parsedBody.Code || errorCode,
4762
4888
  $fault: "client",
4763
4889
  $metadata: deserializeMetadata(output),
4764
- };
4890
+ });
4891
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4765
4892
  }
4766
- const message = response.message || response.Message || errorCode;
4767
- response.message = message;
4768
- delete response.Message;
4769
- return Promise.reject(Object.assign(new Error(message), response));
4770
4893
  };
4771
4894
  const deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = async (output, context) => {
4772
4895
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4790,19 +4913,13 @@ const deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandEr
4790
4913
  switch (errorCode) {
4791
4914
  default:
4792
4915
  const parsedBody = parsedOutput.body;
4793
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4794
- response = {
4795
- ...parsedBody,
4796
- name: `${errorCode}`,
4797
- message: parsedBody.message || parsedBody.Message || errorCode,
4916
+ response = new S3ServiceException_1.S3ServiceException({
4917
+ name: parsedBody.code || parsedBody.Code || errorCode,
4798
4918
  $fault: "client",
4799
4919
  $metadata: deserializeMetadata(output),
4800
- };
4920
+ });
4921
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4801
4922
  }
4802
- const message = response.message || response.Message || errorCode;
4803
- response.message = message;
4804
- delete response.Message;
4805
- return Promise.reject(Object.assign(new Error(message), response));
4806
4923
  };
4807
4924
  const deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = async (output, context) => {
4808
4925
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4826,19 +4943,13 @@ const deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError = asy
4826
4943
  switch (errorCode) {
4827
4944
  default:
4828
4945
  const parsedBody = parsedOutput.body;
4829
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4830
- response = {
4831
- ...parsedBody,
4832
- name: `${errorCode}`,
4833
- message: parsedBody.message || parsedBody.Message || errorCode,
4946
+ response = new S3ServiceException_1.S3ServiceException({
4947
+ name: parsedBody.code || parsedBody.Code || errorCode,
4834
4948
  $fault: "client",
4835
4949
  $metadata: deserializeMetadata(output),
4836
- };
4950
+ });
4951
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4837
4952
  }
4838
- const message = response.message || response.Message || errorCode;
4839
- response.message = message;
4840
- delete response.Message;
4841
- return Promise.reject(Object.assign(new Error(message), response));
4842
4953
  };
4843
4954
  const deserializeAws_restXmlDeleteBucketLifecycleCommand = async (output, context) => {
4844
4955
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4862,19 +4973,13 @@ const deserializeAws_restXmlDeleteBucketLifecycleCommandError = async (output, c
4862
4973
  switch (errorCode) {
4863
4974
  default:
4864
4975
  const parsedBody = parsedOutput.body;
4865
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4866
- response = {
4867
- ...parsedBody,
4868
- name: `${errorCode}`,
4869
- message: parsedBody.message || parsedBody.Message || errorCode,
4976
+ response = new S3ServiceException_1.S3ServiceException({
4977
+ name: parsedBody.code || parsedBody.Code || errorCode,
4870
4978
  $fault: "client",
4871
4979
  $metadata: deserializeMetadata(output),
4872
- };
4980
+ });
4981
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4873
4982
  }
4874
- const message = response.message || response.Message || errorCode;
4875
- response.message = message;
4876
- delete response.Message;
4877
- return Promise.reject(Object.assign(new Error(message), response));
4878
4983
  };
4879
4984
  const deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = async (output, context) => {
4880
4985
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4898,19 +5003,13 @@ const deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError = async
4898
5003
  switch (errorCode) {
4899
5004
  default:
4900
5005
  const parsedBody = parsedOutput.body;
4901
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4902
- response = {
4903
- ...parsedBody,
4904
- name: `${errorCode}`,
4905
- message: parsedBody.message || parsedBody.Message || errorCode,
5006
+ response = new S3ServiceException_1.S3ServiceException({
5007
+ name: parsedBody.code || parsedBody.Code || errorCode,
4906
5008
  $fault: "client",
4907
5009
  $metadata: deserializeMetadata(output),
4908
- };
5010
+ });
5011
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4909
5012
  }
4910
- const message = response.message || response.Message || errorCode;
4911
- response.message = message;
4912
- delete response.Message;
4913
- return Promise.reject(Object.assign(new Error(message), response));
4914
5013
  };
4915
5014
  const deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = async (output, context) => {
4916
5015
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4934,19 +5033,13 @@ const deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError = async (o
4934
5033
  switch (errorCode) {
4935
5034
  default:
4936
5035
  const parsedBody = parsedOutput.body;
4937
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4938
- response = {
4939
- ...parsedBody,
4940
- name: `${errorCode}`,
4941
- message: parsedBody.message || parsedBody.Message || errorCode,
5036
+ response = new S3ServiceException_1.S3ServiceException({
5037
+ name: parsedBody.code || parsedBody.Code || errorCode,
4942
5038
  $fault: "client",
4943
5039
  $metadata: deserializeMetadata(output),
4944
- };
5040
+ });
5041
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4945
5042
  }
4946
- const message = response.message || response.Message || errorCode;
4947
- response.message = message;
4948
- delete response.Message;
4949
- return Promise.reject(Object.assign(new Error(message), response));
4950
5043
  };
4951
5044
  const deserializeAws_restXmlDeleteBucketPolicyCommand = async (output, context) => {
4952
5045
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -4970,19 +5063,13 @@ const deserializeAws_restXmlDeleteBucketPolicyCommandError = async (output, cont
4970
5063
  switch (errorCode) {
4971
5064
  default:
4972
5065
  const parsedBody = parsedOutput.body;
4973
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
4974
- response = {
4975
- ...parsedBody,
4976
- name: `${errorCode}`,
4977
- message: parsedBody.message || parsedBody.Message || errorCode,
5066
+ response = new S3ServiceException_1.S3ServiceException({
5067
+ name: parsedBody.code || parsedBody.Code || errorCode,
4978
5068
  $fault: "client",
4979
5069
  $metadata: deserializeMetadata(output),
4980
- };
5070
+ });
5071
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
4981
5072
  }
4982
- const message = response.message || response.Message || errorCode;
4983
- response.message = message;
4984
- delete response.Message;
4985
- return Promise.reject(Object.assign(new Error(message), response));
4986
5073
  };
4987
5074
  const deserializeAws_restXmlDeleteBucketReplicationCommand = async (output, context) => {
4988
5075
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -5006,19 +5093,13 @@ const deserializeAws_restXmlDeleteBucketReplicationCommandError = async (output,
5006
5093
  switch (errorCode) {
5007
5094
  default:
5008
5095
  const parsedBody = parsedOutput.body;
5009
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5010
- response = {
5011
- ...parsedBody,
5012
- name: `${errorCode}`,
5013
- message: parsedBody.message || parsedBody.Message || errorCode,
5096
+ response = new S3ServiceException_1.S3ServiceException({
5097
+ name: parsedBody.code || parsedBody.Code || errorCode,
5014
5098
  $fault: "client",
5015
5099
  $metadata: deserializeMetadata(output),
5016
- };
5100
+ });
5101
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5017
5102
  }
5018
- const message = response.message || response.Message || errorCode;
5019
- response.message = message;
5020
- delete response.Message;
5021
- return Promise.reject(Object.assign(new Error(message), response));
5022
5103
  };
5023
5104
  const deserializeAws_restXmlDeleteBucketTaggingCommand = async (output, context) => {
5024
5105
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -5042,19 +5123,13 @@ const deserializeAws_restXmlDeleteBucketTaggingCommandError = async (output, con
5042
5123
  switch (errorCode) {
5043
5124
  default:
5044
5125
  const parsedBody = parsedOutput.body;
5045
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5046
- response = {
5047
- ...parsedBody,
5048
- name: `${errorCode}`,
5049
- message: parsedBody.message || parsedBody.Message || errorCode,
5126
+ response = new S3ServiceException_1.S3ServiceException({
5127
+ name: parsedBody.code || parsedBody.Code || errorCode,
5050
5128
  $fault: "client",
5051
5129
  $metadata: deserializeMetadata(output),
5052
- };
5130
+ });
5131
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5053
5132
  }
5054
- const message = response.message || response.Message || errorCode;
5055
- response.message = message;
5056
- delete response.Message;
5057
- return Promise.reject(Object.assign(new Error(message), response));
5058
5133
  };
5059
5134
  const deserializeAws_restXmlDeleteBucketWebsiteCommand = async (output, context) => {
5060
5135
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -5078,19 +5153,13 @@ const deserializeAws_restXmlDeleteBucketWebsiteCommandError = async (output, con
5078
5153
  switch (errorCode) {
5079
5154
  default:
5080
5155
  const parsedBody = parsedOutput.body;
5081
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5082
- response = {
5083
- ...parsedBody,
5084
- name: `${errorCode}`,
5085
- message: parsedBody.message || parsedBody.Message || errorCode,
5156
+ response = new S3ServiceException_1.S3ServiceException({
5157
+ name: parsedBody.code || parsedBody.Code || errorCode,
5086
5158
  $fault: "client",
5087
5159
  $metadata: deserializeMetadata(output),
5088
- };
5160
+ });
5161
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5089
5162
  }
5090
- const message = response.message || response.Message || errorCode;
5091
- response.message = message;
5092
- delete response.Message;
5093
- return Promise.reject(Object.assign(new Error(message), response));
5094
5163
  };
5095
5164
  const deserializeAws_restXmlDeleteObjectCommand = async (output, context) => {
5096
5165
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -5126,19 +5195,13 @@ const deserializeAws_restXmlDeleteObjectCommandError = async (output, context) =
5126
5195
  switch (errorCode) {
5127
5196
  default:
5128
5197
  const parsedBody = parsedOutput.body;
5129
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5130
- response = {
5131
- ...parsedBody,
5132
- name: `${errorCode}`,
5133
- message: parsedBody.message || parsedBody.Message || errorCode,
5198
+ response = new S3ServiceException_1.S3ServiceException({
5199
+ name: parsedBody.code || parsedBody.Code || errorCode,
5134
5200
  $fault: "client",
5135
5201
  $metadata: deserializeMetadata(output),
5136
- };
5202
+ });
5203
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5137
5204
  }
5138
- const message = response.message || response.Message || errorCode;
5139
- response.message = message;
5140
- delete response.Message;
5141
- return Promise.reject(Object.assign(new Error(message), response));
5142
5205
  };
5143
5206
  const deserializeAws_restXmlDeleteObjectsCommand = async (output, context) => {
5144
5207
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5180,19 +5243,13 @@ const deserializeAws_restXmlDeleteObjectsCommandError = async (output, context)
5180
5243
  switch (errorCode) {
5181
5244
  default:
5182
5245
  const parsedBody = parsedOutput.body;
5183
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5184
- response = {
5185
- ...parsedBody,
5186
- name: `${errorCode}`,
5187
- message: parsedBody.message || parsedBody.Message || errorCode,
5246
+ response = new S3ServiceException_1.S3ServiceException({
5247
+ name: parsedBody.code || parsedBody.Code || errorCode,
5188
5248
  $fault: "client",
5189
5249
  $metadata: deserializeMetadata(output),
5190
- };
5250
+ });
5251
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5191
5252
  }
5192
- const message = response.message || response.Message || errorCode;
5193
- response.message = message;
5194
- delete response.Message;
5195
- return Promise.reject(Object.assign(new Error(message), response));
5196
5253
  };
5197
5254
  const deserializeAws_restXmlDeleteObjectTaggingCommand = async (output, context) => {
5198
5255
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -5220,19 +5277,13 @@ const deserializeAws_restXmlDeleteObjectTaggingCommandError = async (output, con
5220
5277
  switch (errorCode) {
5221
5278
  default:
5222
5279
  const parsedBody = parsedOutput.body;
5223
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5224
- response = {
5225
- ...parsedBody,
5226
- name: `${errorCode}`,
5227
- message: parsedBody.message || parsedBody.Message || errorCode,
5280
+ response = new S3ServiceException_1.S3ServiceException({
5281
+ name: parsedBody.code || parsedBody.Code || errorCode,
5228
5282
  $fault: "client",
5229
5283
  $metadata: deserializeMetadata(output),
5230
- };
5284
+ });
5285
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5231
5286
  }
5232
- const message = response.message || response.Message || errorCode;
5233
- response.message = message;
5234
- delete response.Message;
5235
- return Promise.reject(Object.assign(new Error(message), response));
5236
5287
  };
5237
5288
  const deserializeAws_restXmlDeletePublicAccessBlockCommand = async (output, context) => {
5238
5289
  if (output.statusCode !== 204 && output.statusCode >= 300) {
@@ -5256,19 +5307,13 @@ const deserializeAws_restXmlDeletePublicAccessBlockCommandError = async (output,
5256
5307
  switch (errorCode) {
5257
5308
  default:
5258
5309
  const parsedBody = parsedOutput.body;
5259
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5260
- response = {
5261
- ...parsedBody,
5262
- name: `${errorCode}`,
5263
- message: parsedBody.message || parsedBody.Message || errorCode,
5310
+ response = new S3ServiceException_1.S3ServiceException({
5311
+ name: parsedBody.code || parsedBody.Code || errorCode,
5264
5312
  $fault: "client",
5265
5313
  $metadata: deserializeMetadata(output),
5266
- };
5314
+ });
5315
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5267
5316
  }
5268
- const message = response.message || response.Message || errorCode;
5269
- response.message = message;
5270
- delete response.Message;
5271
- return Promise.reject(Object.assign(new Error(message), response));
5272
5317
  };
5273
5318
  const deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = async (output, context) => {
5274
5319
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5296,19 +5341,13 @@ const deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError = async
5296
5341
  switch (errorCode) {
5297
5342
  default:
5298
5343
  const parsedBody = parsedOutput.body;
5299
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5300
- response = {
5301
- ...parsedBody,
5302
- name: `${errorCode}`,
5303
- message: parsedBody.message || parsedBody.Message || errorCode,
5344
+ response = new S3ServiceException_1.S3ServiceException({
5345
+ name: parsedBody.code || parsedBody.Code || errorCode,
5304
5346
  $fault: "client",
5305
5347
  $metadata: deserializeMetadata(output),
5306
- };
5348
+ });
5349
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5307
5350
  }
5308
- const message = response.message || response.Message || errorCode;
5309
- response.message = message;
5310
- delete response.Message;
5311
- return Promise.reject(Object.assign(new Error(message), response));
5312
5351
  };
5313
5352
  const deserializeAws_restXmlGetBucketAclCommand = async (output, context) => {
5314
5353
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5343,19 +5382,13 @@ const deserializeAws_restXmlGetBucketAclCommandError = async (output, context) =
5343
5382
  switch (errorCode) {
5344
5383
  default:
5345
5384
  const parsedBody = parsedOutput.body;
5346
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5347
- response = {
5348
- ...parsedBody,
5349
- name: `${errorCode}`,
5350
- message: parsedBody.message || parsedBody.Message || errorCode,
5385
+ response = new S3ServiceException_1.S3ServiceException({
5386
+ name: parsedBody.code || parsedBody.Code || errorCode,
5351
5387
  $fault: "client",
5352
5388
  $metadata: deserializeMetadata(output),
5353
- };
5389
+ });
5390
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5354
5391
  }
5355
- const message = response.message || response.Message || errorCode;
5356
- response.message = message;
5357
- delete response.Message;
5358
- return Promise.reject(Object.assign(new Error(message), response));
5359
5392
  };
5360
5393
  const deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = async (output, context) => {
5361
5394
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5381,19 +5414,13 @@ const deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError = async
5381
5414
  switch (errorCode) {
5382
5415
  default:
5383
5416
  const parsedBody = parsedOutput.body;
5384
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5385
- response = {
5386
- ...parsedBody,
5387
- name: `${errorCode}`,
5388
- message: parsedBody.message || parsedBody.Message || errorCode,
5417
+ response = new S3ServiceException_1.S3ServiceException({
5418
+ name: parsedBody.code || parsedBody.Code || errorCode,
5389
5419
  $fault: "client",
5390
5420
  $metadata: deserializeMetadata(output),
5391
- };
5421
+ });
5422
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5392
5423
  }
5393
- const message = response.message || response.Message || errorCode;
5394
- response.message = message;
5395
- delete response.Message;
5396
- return Promise.reject(Object.assign(new Error(message), response));
5397
5424
  };
5398
5425
  const deserializeAws_restXmlGetBucketCorsCommand = async (output, context) => {
5399
5426
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5424,19 +5451,13 @@ const deserializeAws_restXmlGetBucketCorsCommandError = async (output, context)
5424
5451
  switch (errorCode) {
5425
5452
  default:
5426
5453
  const parsedBody = parsedOutput.body;
5427
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5428
- response = {
5429
- ...parsedBody,
5430
- name: `${errorCode}`,
5431
- message: parsedBody.message || parsedBody.Message || errorCode,
5454
+ response = new S3ServiceException_1.S3ServiceException({
5455
+ name: parsedBody.code || parsedBody.Code || errorCode,
5432
5456
  $fault: "client",
5433
5457
  $metadata: deserializeMetadata(output),
5434
- };
5458
+ });
5459
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5435
5460
  }
5436
- const message = response.message || response.Message || errorCode;
5437
- response.message = message;
5438
- delete response.Message;
5439
- return Promise.reject(Object.assign(new Error(message), response));
5440
5461
  };
5441
5462
  const deserializeAws_restXmlGetBucketEncryptionCommand = async (output, context) => {
5442
5463
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5462,19 +5483,13 @@ const deserializeAws_restXmlGetBucketEncryptionCommandError = async (output, con
5462
5483
  switch (errorCode) {
5463
5484
  default:
5464
5485
  const parsedBody = parsedOutput.body;
5465
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5466
- response = {
5467
- ...parsedBody,
5468
- name: `${errorCode}`,
5469
- message: parsedBody.message || parsedBody.Message || errorCode,
5486
+ response = new S3ServiceException_1.S3ServiceException({
5487
+ name: parsedBody.code || parsedBody.Code || errorCode,
5470
5488
  $fault: "client",
5471
5489
  $metadata: deserializeMetadata(output),
5472
- };
5490
+ });
5491
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5473
5492
  }
5474
- const message = response.message || response.Message || errorCode;
5475
- response.message = message;
5476
- delete response.Message;
5477
- return Promise.reject(Object.assign(new Error(message), response));
5478
5493
  };
5479
5494
  const deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = async (output, context) => {
5480
5495
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5500,19 +5515,13 @@ const deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError
5500
5515
  switch (errorCode) {
5501
5516
  default:
5502
5517
  const parsedBody = parsedOutput.body;
5503
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5504
- response = {
5505
- ...parsedBody,
5506
- name: `${errorCode}`,
5507
- message: parsedBody.message || parsedBody.Message || errorCode,
5518
+ response = new S3ServiceException_1.S3ServiceException({
5519
+ name: parsedBody.code || parsedBody.Code || errorCode,
5508
5520
  $fault: "client",
5509
5521
  $metadata: deserializeMetadata(output),
5510
- };
5522
+ });
5523
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5511
5524
  }
5512
- const message = response.message || response.Message || errorCode;
5513
- response.message = message;
5514
- delete response.Message;
5515
- return Promise.reject(Object.assign(new Error(message), response));
5516
5525
  };
5517
5526
  const deserializeAws_restXmlGetBucketInventoryConfigurationCommand = async (output, context) => {
5518
5527
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5538,19 +5547,13 @@ const deserializeAws_restXmlGetBucketInventoryConfigurationCommandError = async
5538
5547
  switch (errorCode) {
5539
5548
  default:
5540
5549
  const parsedBody = parsedOutput.body;
5541
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5542
- response = {
5543
- ...parsedBody,
5544
- name: `${errorCode}`,
5545
- message: parsedBody.message || parsedBody.Message || errorCode,
5550
+ response = new S3ServiceException_1.S3ServiceException({
5551
+ name: parsedBody.code || parsedBody.Code || errorCode,
5546
5552
  $fault: "client",
5547
5553
  $metadata: deserializeMetadata(output),
5548
- };
5554
+ });
5555
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5549
5556
  }
5550
- const message = response.message || response.Message || errorCode;
5551
- response.message = message;
5552
- delete response.Message;
5553
- return Promise.reject(Object.assign(new Error(message), response));
5554
5557
  };
5555
5558
  const deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = async (output, context) => {
5556
5559
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5581,19 +5584,13 @@ const deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError = async
5581
5584
  switch (errorCode) {
5582
5585
  default:
5583
5586
  const parsedBody = parsedOutput.body;
5584
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5585
- response = {
5586
- ...parsedBody,
5587
- name: `${errorCode}`,
5588
- message: parsedBody.message || parsedBody.Message || errorCode,
5587
+ response = new S3ServiceException_1.S3ServiceException({
5588
+ name: parsedBody.code || parsedBody.Code || errorCode,
5589
5589
  $fault: "client",
5590
5590
  $metadata: deserializeMetadata(output),
5591
- };
5591
+ });
5592
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5592
5593
  }
5593
- const message = response.message || response.Message || errorCode;
5594
- response.message = message;
5595
- delete response.Message;
5596
- return Promise.reject(Object.assign(new Error(message), response));
5597
5594
  };
5598
5595
  const deserializeAws_restXmlGetBucketLocationCommand = async (output, context) => {
5599
5596
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5621,19 +5618,13 @@ const deserializeAws_restXmlGetBucketLocationCommandError = async (output, conte
5621
5618
  switch (errorCode) {
5622
5619
  default:
5623
5620
  const parsedBody = parsedOutput.body;
5624
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5625
- response = {
5626
- ...parsedBody,
5627
- name: `${errorCode}`,
5628
- message: parsedBody.message || parsedBody.Message || errorCode,
5621
+ response = new S3ServiceException_1.S3ServiceException({
5622
+ name: parsedBody.code || parsedBody.Code || errorCode,
5629
5623
  $fault: "client",
5630
5624
  $metadata: deserializeMetadata(output),
5631
- };
5625
+ });
5626
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5632
5627
  }
5633
- const message = response.message || response.Message || errorCode;
5634
- response.message = message;
5635
- delete response.Message;
5636
- return Promise.reject(Object.assign(new Error(message), response));
5637
5628
  };
5638
5629
  const deserializeAws_restXmlGetBucketLoggingCommand = async (output, context) => {
5639
5630
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5661,19 +5652,13 @@ const deserializeAws_restXmlGetBucketLoggingCommandError = async (output, contex
5661
5652
  switch (errorCode) {
5662
5653
  default:
5663
5654
  const parsedBody = parsedOutput.body;
5664
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5665
- response = {
5666
- ...parsedBody,
5667
- name: `${errorCode}`,
5668
- message: parsedBody.message || parsedBody.Message || errorCode,
5655
+ response = new S3ServiceException_1.S3ServiceException({
5656
+ name: parsedBody.code || parsedBody.Code || errorCode,
5669
5657
  $fault: "client",
5670
5658
  $metadata: deserializeMetadata(output),
5671
- };
5659
+ });
5660
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5672
5661
  }
5673
- const message = response.message || response.Message || errorCode;
5674
- response.message = message;
5675
- delete response.Message;
5676
- return Promise.reject(Object.assign(new Error(message), response));
5677
5662
  };
5678
5663
  const deserializeAws_restXmlGetBucketMetricsConfigurationCommand = async (output, context) => {
5679
5664
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5699,19 +5684,13 @@ const deserializeAws_restXmlGetBucketMetricsConfigurationCommandError = async (o
5699
5684
  switch (errorCode) {
5700
5685
  default:
5701
5686
  const parsedBody = parsedOutput.body;
5702
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5703
- response = {
5704
- ...parsedBody,
5705
- name: `${errorCode}`,
5706
- message: parsedBody.message || parsedBody.Message || errorCode,
5687
+ response = new S3ServiceException_1.S3ServiceException({
5688
+ name: parsedBody.code || parsedBody.Code || errorCode,
5707
5689
  $fault: "client",
5708
5690
  $metadata: deserializeMetadata(output),
5709
- };
5691
+ });
5692
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5710
5693
  }
5711
- const message = response.message || response.Message || errorCode;
5712
- response.message = message;
5713
- delete response.Message;
5714
- return Promise.reject(Object.assign(new Error(message), response));
5715
5694
  };
5716
5695
  const deserializeAws_restXmlGetBucketNotificationConfigurationCommand = async (output, context) => {
5717
5696
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5760,19 +5739,13 @@ const deserializeAws_restXmlGetBucketNotificationConfigurationCommandError = asy
5760
5739
  switch (errorCode) {
5761
5740
  default:
5762
5741
  const parsedBody = parsedOutput.body;
5763
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5764
- response = {
5765
- ...parsedBody,
5766
- name: `${errorCode}`,
5767
- message: parsedBody.message || parsedBody.Message || errorCode,
5742
+ response = new S3ServiceException_1.S3ServiceException({
5743
+ name: parsedBody.code || parsedBody.Code || errorCode,
5768
5744
  $fault: "client",
5769
5745
  $metadata: deserializeMetadata(output),
5770
- };
5746
+ });
5747
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5771
5748
  }
5772
- const message = response.message || response.Message || errorCode;
5773
- response.message = message;
5774
- delete response.Message;
5775
- return Promise.reject(Object.assign(new Error(message), response));
5776
5749
  };
5777
5750
  const deserializeAws_restXmlGetBucketOwnershipControlsCommand = async (output, context) => {
5778
5751
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5798,19 +5771,13 @@ const deserializeAws_restXmlGetBucketOwnershipControlsCommandError = async (outp
5798
5771
  switch (errorCode) {
5799
5772
  default:
5800
5773
  const parsedBody = parsedOutput.body;
5801
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5802
- response = {
5803
- ...parsedBody,
5804
- name: `${errorCode}`,
5805
- message: parsedBody.message || parsedBody.Message || errorCode,
5774
+ response = new S3ServiceException_1.S3ServiceException({
5775
+ name: parsedBody.code || parsedBody.Code || errorCode,
5806
5776
  $fault: "client",
5807
5777
  $metadata: deserializeMetadata(output),
5808
- };
5778
+ });
5779
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5809
5780
  }
5810
- const message = response.message || response.Message || errorCode;
5811
- response.message = message;
5812
- delete response.Message;
5813
- return Promise.reject(Object.assign(new Error(message), response));
5814
5781
  };
5815
5782
  const deserializeAws_restXmlGetBucketPolicyCommand = async (output, context) => {
5816
5783
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5836,19 +5803,13 @@ const deserializeAws_restXmlGetBucketPolicyCommandError = async (output, context
5836
5803
  switch (errorCode) {
5837
5804
  default:
5838
5805
  const parsedBody = parsedOutput.body;
5839
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5840
- response = {
5841
- ...parsedBody,
5842
- name: `${errorCode}`,
5843
- message: parsedBody.message || parsedBody.Message || errorCode,
5806
+ response = new S3ServiceException_1.S3ServiceException({
5807
+ name: parsedBody.code || parsedBody.Code || errorCode,
5844
5808
  $fault: "client",
5845
5809
  $metadata: deserializeMetadata(output),
5846
- };
5810
+ });
5811
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5847
5812
  }
5848
- const message = response.message || response.Message || errorCode;
5849
- response.message = message;
5850
- delete response.Message;
5851
- return Promise.reject(Object.assign(new Error(message), response));
5852
5813
  };
5853
5814
  const deserializeAws_restXmlGetBucketPolicyStatusCommand = async (output, context) => {
5854
5815
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5874,19 +5835,13 @@ const deserializeAws_restXmlGetBucketPolicyStatusCommandError = async (output, c
5874
5835
  switch (errorCode) {
5875
5836
  default:
5876
5837
  const parsedBody = parsedOutput.body;
5877
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5878
- response = {
5879
- ...parsedBody,
5880
- name: `${errorCode}`,
5881
- message: parsedBody.message || parsedBody.Message || errorCode,
5838
+ response = new S3ServiceException_1.S3ServiceException({
5839
+ name: parsedBody.code || parsedBody.Code || errorCode,
5882
5840
  $fault: "client",
5883
5841
  $metadata: deserializeMetadata(output),
5884
- };
5842
+ });
5843
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5885
5844
  }
5886
- const message = response.message || response.Message || errorCode;
5887
- response.message = message;
5888
- delete response.Message;
5889
- return Promise.reject(Object.assign(new Error(message), response));
5890
5845
  };
5891
5846
  const deserializeAws_restXmlGetBucketReplicationCommand = async (output, context) => {
5892
5847
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5912,19 +5867,13 @@ const deserializeAws_restXmlGetBucketReplicationCommandError = async (output, co
5912
5867
  switch (errorCode) {
5913
5868
  default:
5914
5869
  const parsedBody = parsedOutput.body;
5915
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5916
- response = {
5917
- ...parsedBody,
5918
- name: `${errorCode}`,
5919
- message: parsedBody.message || parsedBody.Message || errorCode,
5870
+ response = new S3ServiceException_1.S3ServiceException({
5871
+ name: parsedBody.code || parsedBody.Code || errorCode,
5920
5872
  $fault: "client",
5921
5873
  $metadata: deserializeMetadata(output),
5922
- };
5874
+ });
5875
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5923
5876
  }
5924
- const message = response.message || response.Message || errorCode;
5925
- response.message = message;
5926
- delete response.Message;
5927
- return Promise.reject(Object.assign(new Error(message), response));
5928
5877
  };
5929
5878
  const deserializeAws_restXmlGetBucketRequestPaymentCommand = async (output, context) => {
5930
5879
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5952,19 +5901,13 @@ const deserializeAws_restXmlGetBucketRequestPaymentCommandError = async (output,
5952
5901
  switch (errorCode) {
5953
5902
  default:
5954
5903
  const parsedBody = parsedOutput.body;
5955
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5956
- response = {
5957
- ...parsedBody,
5958
- name: `${errorCode}`,
5959
- message: parsedBody.message || parsedBody.Message || errorCode,
5904
+ response = new S3ServiceException_1.S3ServiceException({
5905
+ name: parsedBody.code || parsedBody.Code || errorCode,
5960
5906
  $fault: "client",
5961
5907
  $metadata: deserializeMetadata(output),
5962
- };
5908
+ });
5909
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
5963
5910
  }
5964
- const message = response.message || response.Message || errorCode;
5965
- response.message = message;
5966
- delete response.Message;
5967
- return Promise.reject(Object.assign(new Error(message), response));
5968
5911
  };
5969
5912
  const deserializeAws_restXmlGetBucketTaggingCommand = async (output, context) => {
5970
5913
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -5995,19 +5938,13 @@ const deserializeAws_restXmlGetBucketTaggingCommandError = async (output, contex
5995
5938
  switch (errorCode) {
5996
5939
  default:
5997
5940
  const parsedBody = parsedOutput.body;
5998
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
5999
- response = {
6000
- ...parsedBody,
6001
- name: `${errorCode}`,
6002
- message: parsedBody.message || parsedBody.Message || errorCode,
5941
+ response = new S3ServiceException_1.S3ServiceException({
5942
+ name: parsedBody.code || parsedBody.Code || errorCode,
6003
5943
  $fault: "client",
6004
5944
  $metadata: deserializeMetadata(output),
6005
- };
5945
+ });
5946
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6006
5947
  }
6007
- const message = response.message || response.Message || errorCode;
6008
- response.message = message;
6009
- delete response.Message;
6010
- return Promise.reject(Object.assign(new Error(message), response));
6011
5948
  };
6012
5949
  const deserializeAws_restXmlGetBucketVersioningCommand = async (output, context) => {
6013
5950
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6039,19 +5976,13 @@ const deserializeAws_restXmlGetBucketVersioningCommandError = async (output, con
6039
5976
  switch (errorCode) {
6040
5977
  default:
6041
5978
  const parsedBody = parsedOutput.body;
6042
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6043
- response = {
6044
- ...parsedBody,
6045
- name: `${errorCode}`,
6046
- message: parsedBody.message || parsedBody.Message || errorCode,
5979
+ response = new S3ServiceException_1.S3ServiceException({
5980
+ name: parsedBody.code || parsedBody.Code || errorCode,
6047
5981
  $fault: "client",
6048
5982
  $metadata: deserializeMetadata(output),
6049
- };
5983
+ });
5984
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6050
5985
  }
6051
- const message = response.message || response.Message || errorCode;
6052
- response.message = message;
6053
- delete response.Message;
6054
- return Promise.reject(Object.assign(new Error(message), response));
6055
5986
  };
6056
5987
  const deserializeAws_restXmlGetBucketWebsiteCommand = async (output, context) => {
6057
5988
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6094,19 +6025,13 @@ const deserializeAws_restXmlGetBucketWebsiteCommandError = async (output, contex
6094
6025
  switch (errorCode) {
6095
6026
  default:
6096
6027
  const parsedBody = parsedOutput.body;
6097
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6098
- response = {
6099
- ...parsedBody,
6100
- name: `${errorCode}`,
6101
- message: parsedBody.message || parsedBody.Message || errorCode,
6028
+ response = new S3ServiceException_1.S3ServiceException({
6029
+ name: parsedBody.code || parsedBody.Code || errorCode,
6102
6030
  $fault: "client",
6103
6031
  $metadata: deserializeMetadata(output),
6104
- };
6032
+ });
6033
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6105
6034
  }
6106
- const message = response.message || response.Message || errorCode;
6107
- response.message = message;
6108
- delete response.Message;
6109
- return Promise.reject(Object.assign(new Error(message), response));
6110
6035
  };
6111
6036
  const deserializeAws_restXmlGetObjectCommand = async (output, context) => {
6112
6037
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6118,6 +6043,10 @@ const deserializeAws_restXmlGetObjectCommand = async (output, context) => {
6118
6043
  Body: undefined,
6119
6044
  BucketKeyEnabled: undefined,
6120
6045
  CacheControl: undefined,
6046
+ ChecksumCRC32: undefined,
6047
+ ChecksumCRC32C: undefined,
6048
+ ChecksumSHA1: undefined,
6049
+ ChecksumSHA256: undefined,
6121
6050
  ContentDisposition: undefined,
6122
6051
  ContentEncoding: undefined,
6123
6052
  ContentLanguage: undefined,
@@ -6168,6 +6097,18 @@ const deserializeAws_restXmlGetObjectCommand = async (output, context) => {
6168
6097
  if (output.headers["etag"] !== undefined) {
6169
6098
  contents.ETag = output.headers["etag"];
6170
6099
  }
6100
+ if (output.headers["x-amz-checksum-crc32"] !== undefined) {
6101
+ contents.ChecksumCRC32 = output.headers["x-amz-checksum-crc32"];
6102
+ }
6103
+ if (output.headers["x-amz-checksum-crc32c"] !== undefined) {
6104
+ contents.ChecksumCRC32C = output.headers["x-amz-checksum-crc32c"];
6105
+ }
6106
+ if (output.headers["x-amz-checksum-sha1"] !== undefined) {
6107
+ contents.ChecksumSHA1 = output.headers["x-amz-checksum-sha1"];
6108
+ }
6109
+ if (output.headers["x-amz-checksum-sha256"] !== undefined) {
6110
+ contents.ChecksumSHA256 = output.headers["x-amz-checksum-sha256"];
6111
+ }
6171
6112
  if (output.headers["x-amz-missing-meta"] !== undefined) {
6172
6113
  contents.MissingMeta = smithy_client_1.strictParseInt32(output.headers["x-amz-missing-meta"]);
6173
6114
  }
@@ -6261,35 +6202,19 @@ const deserializeAws_restXmlGetObjectCommandError = async (output, context) => {
6261
6202
  switch (errorCode) {
6262
6203
  case "InvalidObjectState":
6263
6204
  case "com.amazonaws.s3#InvalidObjectState":
6264
- response = {
6265
- ...(await deserializeAws_restXmlInvalidObjectStateResponse(parsedOutput, context)),
6266
- name: errorCode,
6267
- $metadata: deserializeMetadata(output),
6268
- };
6269
- break;
6205
+ throw await deserializeAws_restXmlInvalidObjectStateResponse(parsedOutput, context);
6270
6206
  case "NoSuchKey":
6271
6207
  case "com.amazonaws.s3#NoSuchKey":
6272
- response = {
6273
- ...(await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)),
6274
- name: errorCode,
6275
- $metadata: deserializeMetadata(output),
6276
- };
6277
- break;
6208
+ throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);
6278
6209
  default:
6279
6210
  const parsedBody = parsedOutput.body;
6280
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6281
- response = {
6282
- ...parsedBody,
6283
- name: `${errorCode}`,
6284
- message: parsedBody.message || parsedBody.Message || errorCode,
6211
+ response = new S3ServiceException_1.S3ServiceException({
6212
+ name: parsedBody.code || parsedBody.Code || errorCode,
6285
6213
  $fault: "client",
6286
6214
  $metadata: deserializeMetadata(output),
6287
- };
6215
+ });
6216
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6288
6217
  }
6289
- const message = response.message || response.Message || errorCode;
6290
- response.message = message;
6291
- delete response.Message;
6292
- return Promise.reject(Object.assign(new Error(message), response));
6293
6218
  };
6294
6219
  const deserializeAws_restXmlGetObjectAclCommand = async (output, context) => {
6295
6220
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6328,27 +6253,85 @@ const deserializeAws_restXmlGetObjectAclCommandError = async (output, context) =
6328
6253
  switch (errorCode) {
6329
6254
  case "NoSuchKey":
6330
6255
  case "com.amazonaws.s3#NoSuchKey":
6331
- response = {
6332
- ...(await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)),
6333
- name: errorCode,
6256
+ throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);
6257
+ default:
6258
+ const parsedBody = parsedOutput.body;
6259
+ response = new S3ServiceException_1.S3ServiceException({
6260
+ name: parsedBody.code || parsedBody.Code || errorCode,
6261
+ $fault: "client",
6334
6262
  $metadata: deserializeMetadata(output),
6335
- };
6336
- break;
6263
+ });
6264
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6265
+ }
6266
+ };
6267
+ const deserializeAws_restXmlGetObjectAttributesCommand = async (output, context) => {
6268
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
6269
+ return deserializeAws_restXmlGetObjectAttributesCommandError(output, context);
6270
+ }
6271
+ const contents = {
6272
+ $metadata: deserializeMetadata(output),
6273
+ Checksum: undefined,
6274
+ DeleteMarker: undefined,
6275
+ ETag: undefined,
6276
+ LastModified: undefined,
6277
+ ObjectParts: undefined,
6278
+ ObjectSize: undefined,
6279
+ RequestCharged: undefined,
6280
+ StorageClass: undefined,
6281
+ VersionId: undefined,
6282
+ };
6283
+ if (output.headers["x-amz-delete-marker"] !== undefined) {
6284
+ contents.DeleteMarker = smithy_client_1.parseBoolean(output.headers["x-amz-delete-marker"]);
6285
+ }
6286
+ if (output.headers["last-modified"] !== undefined) {
6287
+ contents.LastModified = smithy_client_1.expectNonNull(smithy_client_1.parseRfc7231DateTime(output.headers["last-modified"]));
6288
+ }
6289
+ if (output.headers["x-amz-version-id"] !== undefined) {
6290
+ contents.VersionId = output.headers["x-amz-version-id"];
6291
+ }
6292
+ if (output.headers["x-amz-request-charged"] !== undefined) {
6293
+ contents.RequestCharged = output.headers["x-amz-request-charged"];
6294
+ }
6295
+ const data = smithy_client_1.expectNonNull(smithy_client_1.expectObject(await parseBody(output.body, context)), "body");
6296
+ if (data["Checksum"] !== undefined) {
6297
+ contents.Checksum = deserializeAws_restXmlChecksum(data["Checksum"], context);
6298
+ }
6299
+ if (data["ETag"] !== undefined) {
6300
+ contents.ETag = smithy_client_1.expectString(data["ETag"]);
6301
+ }
6302
+ if (data["ObjectParts"] !== undefined) {
6303
+ contents.ObjectParts = deserializeAws_restXmlGetObjectAttributesParts(data["ObjectParts"], context);
6304
+ }
6305
+ if (data["ObjectSize"] !== undefined) {
6306
+ contents.ObjectSize = smithy_client_1.strictParseLong(data["ObjectSize"]);
6307
+ }
6308
+ if (data["StorageClass"] !== undefined) {
6309
+ contents.StorageClass = smithy_client_1.expectString(data["StorageClass"]);
6310
+ }
6311
+ return Promise.resolve(contents);
6312
+ };
6313
+ exports.deserializeAws_restXmlGetObjectAttributesCommand = deserializeAws_restXmlGetObjectAttributesCommand;
6314
+ const deserializeAws_restXmlGetObjectAttributesCommandError = async (output, context) => {
6315
+ const parsedOutput = {
6316
+ ...output,
6317
+ body: await parseBody(output.body, context),
6318
+ };
6319
+ let response;
6320
+ let errorCode = "UnknownError";
6321
+ errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
6322
+ switch (errorCode) {
6323
+ case "NoSuchKey":
6324
+ case "com.amazonaws.s3#NoSuchKey":
6325
+ throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);
6337
6326
  default:
6338
6327
  const parsedBody = parsedOutput.body;
6339
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6340
- response = {
6341
- ...parsedBody,
6342
- name: `${errorCode}`,
6343
- message: parsedBody.message || parsedBody.Message || errorCode,
6328
+ response = new S3ServiceException_1.S3ServiceException({
6329
+ name: parsedBody.code || parsedBody.Code || errorCode,
6344
6330
  $fault: "client",
6345
6331
  $metadata: deserializeMetadata(output),
6346
- };
6332
+ });
6333
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6347
6334
  }
6348
- const message = response.message || response.Message || errorCode;
6349
- response.message = message;
6350
- delete response.Message;
6351
- return Promise.reject(Object.assign(new Error(message), response));
6352
6335
  };
6353
6336
  const deserializeAws_restXmlGetObjectLegalHoldCommand = async (output, context) => {
6354
6337
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6374,19 +6357,13 @@ const deserializeAws_restXmlGetObjectLegalHoldCommandError = async (output, cont
6374
6357
  switch (errorCode) {
6375
6358
  default:
6376
6359
  const parsedBody = parsedOutput.body;
6377
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6378
- response = {
6379
- ...parsedBody,
6380
- name: `${errorCode}`,
6381
- message: parsedBody.message || parsedBody.Message || errorCode,
6360
+ response = new S3ServiceException_1.S3ServiceException({
6361
+ name: parsedBody.code || parsedBody.Code || errorCode,
6382
6362
  $fault: "client",
6383
6363
  $metadata: deserializeMetadata(output),
6384
- };
6364
+ });
6365
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6385
6366
  }
6386
- const message = response.message || response.Message || errorCode;
6387
- response.message = message;
6388
- delete response.Message;
6389
- return Promise.reject(Object.assign(new Error(message), response));
6390
6367
  };
6391
6368
  const deserializeAws_restXmlGetObjectLockConfigurationCommand = async (output, context) => {
6392
6369
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6412,19 +6389,13 @@ const deserializeAws_restXmlGetObjectLockConfigurationCommandError = async (outp
6412
6389
  switch (errorCode) {
6413
6390
  default:
6414
6391
  const parsedBody = parsedOutput.body;
6415
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6416
- response = {
6417
- ...parsedBody,
6418
- name: `${errorCode}`,
6419
- message: parsedBody.message || parsedBody.Message || errorCode,
6392
+ response = new S3ServiceException_1.S3ServiceException({
6393
+ name: parsedBody.code || parsedBody.Code || errorCode,
6420
6394
  $fault: "client",
6421
6395
  $metadata: deserializeMetadata(output),
6422
- };
6396
+ });
6397
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6423
6398
  }
6424
- const message = response.message || response.Message || errorCode;
6425
- response.message = message;
6426
- delete response.Message;
6427
- return Promise.reject(Object.assign(new Error(message), response));
6428
6399
  };
6429
6400
  const deserializeAws_restXmlGetObjectRetentionCommand = async (output, context) => {
6430
6401
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6450,19 +6421,13 @@ const deserializeAws_restXmlGetObjectRetentionCommandError = async (output, cont
6450
6421
  switch (errorCode) {
6451
6422
  default:
6452
6423
  const parsedBody = parsedOutput.body;
6453
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6454
- response = {
6455
- ...parsedBody,
6456
- name: `${errorCode}`,
6457
- message: parsedBody.message || parsedBody.Message || errorCode,
6424
+ response = new S3ServiceException_1.S3ServiceException({
6425
+ name: parsedBody.code || parsedBody.Code || errorCode,
6458
6426
  $fault: "client",
6459
6427
  $metadata: deserializeMetadata(output),
6460
- };
6428
+ });
6429
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6461
6430
  }
6462
- const message = response.message || response.Message || errorCode;
6463
- response.message = message;
6464
- delete response.Message;
6465
- return Promise.reject(Object.assign(new Error(message), response));
6466
6431
  };
6467
6432
  const deserializeAws_restXmlGetObjectTaggingCommand = async (output, context) => {
6468
6433
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6497,19 +6462,13 @@ const deserializeAws_restXmlGetObjectTaggingCommandError = async (output, contex
6497
6462
  switch (errorCode) {
6498
6463
  default:
6499
6464
  const parsedBody = parsedOutput.body;
6500
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6501
- response = {
6502
- ...parsedBody,
6503
- name: `${errorCode}`,
6504
- message: parsedBody.message || parsedBody.Message || errorCode,
6465
+ response = new S3ServiceException_1.S3ServiceException({
6466
+ name: parsedBody.code || parsedBody.Code || errorCode,
6505
6467
  $fault: "client",
6506
6468
  $metadata: deserializeMetadata(output),
6507
- };
6469
+ });
6470
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6508
6471
  }
6509
- const message = response.message || response.Message || errorCode;
6510
- response.message = message;
6511
- delete response.Message;
6512
- return Promise.reject(Object.assign(new Error(message), response));
6513
6472
  };
6514
6473
  const deserializeAws_restXmlGetObjectTorrentCommand = async (output, context) => {
6515
6474
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6539,19 +6498,13 @@ const deserializeAws_restXmlGetObjectTorrentCommandError = async (output, contex
6539
6498
  switch (errorCode) {
6540
6499
  default:
6541
6500
  const parsedBody = parsedOutput.body;
6542
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6543
- response = {
6544
- ...parsedBody,
6545
- name: `${errorCode}`,
6546
- message: parsedBody.message || parsedBody.Message || errorCode,
6501
+ response = new S3ServiceException_1.S3ServiceException({
6502
+ name: parsedBody.code || parsedBody.Code || errorCode,
6547
6503
  $fault: "client",
6548
6504
  $metadata: deserializeMetadata(output),
6549
- };
6505
+ });
6506
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6550
6507
  }
6551
- const message = response.message || response.Message || errorCode;
6552
- response.message = message;
6553
- delete response.Message;
6554
- return Promise.reject(Object.assign(new Error(message), response));
6555
6508
  };
6556
6509
  const deserializeAws_restXmlGetPublicAccessBlockCommand = async (output, context) => {
6557
6510
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6577,19 +6530,13 @@ const deserializeAws_restXmlGetPublicAccessBlockCommandError = async (output, co
6577
6530
  switch (errorCode) {
6578
6531
  default:
6579
6532
  const parsedBody = parsedOutput.body;
6580
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6581
- response = {
6582
- ...parsedBody,
6583
- name: `${errorCode}`,
6584
- message: parsedBody.message || parsedBody.Message || errorCode,
6533
+ response = new S3ServiceException_1.S3ServiceException({
6534
+ name: parsedBody.code || parsedBody.Code || errorCode,
6585
6535
  $fault: "client",
6586
6536
  $metadata: deserializeMetadata(output),
6587
- };
6537
+ });
6538
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6588
6539
  }
6589
- const message = response.message || response.Message || errorCode;
6590
- response.message = message;
6591
- delete response.Message;
6592
- return Promise.reject(Object.assign(new Error(message), response));
6593
6540
  };
6594
6541
  const deserializeAws_restXmlHeadBucketCommand = async (output, context) => {
6595
6542
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6613,27 +6560,16 @@ const deserializeAws_restXmlHeadBucketCommandError = async (output, context) =>
6613
6560
  switch (errorCode) {
6614
6561
  case "NotFound":
6615
6562
  case "com.amazonaws.s3#NotFound":
6616
- response = {
6617
- ...(await deserializeAws_restXmlNotFoundResponse(parsedOutput, context)),
6618
- name: errorCode,
6619
- $metadata: deserializeMetadata(output),
6620
- };
6621
- break;
6563
+ throw await deserializeAws_restXmlNotFoundResponse(parsedOutput, context);
6622
6564
  default:
6623
6565
  const parsedBody = parsedOutput.body;
6624
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6625
- response = {
6626
- ...parsedBody,
6627
- name: `${errorCode}`,
6628
- message: parsedBody.message || parsedBody.Message || errorCode,
6566
+ response = new S3ServiceException_1.S3ServiceException({
6567
+ name: parsedBody.code || parsedBody.Code || errorCode,
6629
6568
  $fault: "client",
6630
6569
  $metadata: deserializeMetadata(output),
6631
- };
6570
+ });
6571
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6632
6572
  }
6633
- const message = response.message || response.Message || errorCode;
6634
- response.message = message;
6635
- delete response.Message;
6636
- return Promise.reject(Object.assign(new Error(message), response));
6637
6573
  };
6638
6574
  const deserializeAws_restXmlHeadObjectCommand = async (output, context) => {
6639
6575
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6645,6 +6581,10 @@ const deserializeAws_restXmlHeadObjectCommand = async (output, context) => {
6645
6581
  ArchiveStatus: undefined,
6646
6582
  BucketKeyEnabled: undefined,
6647
6583
  CacheControl: undefined,
6584
+ ChecksumCRC32: undefined,
6585
+ ChecksumCRC32C: undefined,
6586
+ ChecksumSHA1: undefined,
6587
+ ChecksumSHA256: undefined,
6648
6588
  ContentDisposition: undefined,
6649
6589
  ContentEncoding: undefined,
6650
6590
  ContentLanguage: undefined,
@@ -6693,6 +6633,18 @@ const deserializeAws_restXmlHeadObjectCommand = async (output, context) => {
6693
6633
  if (output.headers["content-length"] !== undefined) {
6694
6634
  contents.ContentLength = smithy_client_1.strictParseLong(output.headers["content-length"]);
6695
6635
  }
6636
+ if (output.headers["x-amz-checksum-crc32"] !== undefined) {
6637
+ contents.ChecksumCRC32 = output.headers["x-amz-checksum-crc32"];
6638
+ }
6639
+ if (output.headers["x-amz-checksum-crc32c"] !== undefined) {
6640
+ contents.ChecksumCRC32C = output.headers["x-amz-checksum-crc32c"];
6641
+ }
6642
+ if (output.headers["x-amz-checksum-sha1"] !== undefined) {
6643
+ contents.ChecksumSHA1 = output.headers["x-amz-checksum-sha1"];
6644
+ }
6645
+ if (output.headers["x-amz-checksum-sha256"] !== undefined) {
6646
+ contents.ChecksumSHA256 = output.headers["x-amz-checksum-sha256"];
6647
+ }
6696
6648
  if (output.headers["etag"] !== undefined) {
6697
6649
  contents.ETag = output.headers["etag"];
6698
6650
  }
@@ -6782,27 +6734,16 @@ const deserializeAws_restXmlHeadObjectCommandError = async (output, context) =>
6782
6734
  switch (errorCode) {
6783
6735
  case "NotFound":
6784
6736
  case "com.amazonaws.s3#NotFound":
6785
- response = {
6786
- ...(await deserializeAws_restXmlNotFoundResponse(parsedOutput, context)),
6787
- name: errorCode,
6788
- $metadata: deserializeMetadata(output),
6789
- };
6790
- break;
6737
+ throw await deserializeAws_restXmlNotFoundResponse(parsedOutput, context);
6791
6738
  default:
6792
6739
  const parsedBody = parsedOutput.body;
6793
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6794
- response = {
6795
- ...parsedBody,
6796
- name: `${errorCode}`,
6797
- message: parsedBody.message || parsedBody.Message || errorCode,
6740
+ response = new S3ServiceException_1.S3ServiceException({
6741
+ name: parsedBody.code || parsedBody.Code || errorCode,
6798
6742
  $fault: "client",
6799
6743
  $metadata: deserializeMetadata(output),
6800
- };
6744
+ });
6745
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6801
6746
  }
6802
- const message = response.message || response.Message || errorCode;
6803
- response.message = message;
6804
- delete response.Message;
6805
- return Promise.reject(Object.assign(new Error(message), response));
6806
6747
  };
6807
6748
  const deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = async (output, context) => {
6808
6749
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6845,19 +6786,13 @@ const deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError = asyn
6845
6786
  switch (errorCode) {
6846
6787
  default:
6847
6788
  const parsedBody = parsedOutput.body;
6848
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6849
- response = {
6850
- ...parsedBody,
6851
- name: `${errorCode}`,
6852
- message: parsedBody.message || parsedBody.Message || errorCode,
6789
+ response = new S3ServiceException_1.S3ServiceException({
6790
+ name: parsedBody.code || parsedBody.Code || errorCode,
6853
6791
  $fault: "client",
6854
6792
  $metadata: deserializeMetadata(output),
6855
- };
6793
+ });
6794
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6856
6795
  }
6857
- const message = response.message || response.Message || errorCode;
6858
- response.message = message;
6859
- delete response.Message;
6860
- return Promise.reject(Object.assign(new Error(message), response));
6861
6796
  };
6862
6797
  const deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = async (output, context) => {
6863
6798
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6900,19 +6835,13 @@ const deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandErr
6900
6835
  switch (errorCode) {
6901
6836
  default:
6902
6837
  const parsedBody = parsedOutput.body;
6903
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6904
- response = {
6905
- ...parsedBody,
6906
- name: `${errorCode}`,
6907
- message: parsedBody.message || parsedBody.Message || errorCode,
6838
+ response = new S3ServiceException_1.S3ServiceException({
6839
+ name: parsedBody.code || parsedBody.Code || errorCode,
6908
6840
  $fault: "client",
6909
6841
  $metadata: deserializeMetadata(output),
6910
- };
6842
+ });
6843
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6911
6844
  }
6912
- const message = response.message || response.Message || errorCode;
6913
- response.message = message;
6914
- delete response.Message;
6915
- return Promise.reject(Object.assign(new Error(message), response));
6916
6845
  };
6917
6846
  const deserializeAws_restXmlListBucketInventoryConfigurationsCommand = async (output, context) => {
6918
6847
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -6955,19 +6884,13 @@ const deserializeAws_restXmlListBucketInventoryConfigurationsCommandError = asyn
6955
6884
  switch (errorCode) {
6956
6885
  default:
6957
6886
  const parsedBody = parsedOutput.body;
6958
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
6959
- response = {
6960
- ...parsedBody,
6961
- name: `${errorCode}`,
6962
- message: parsedBody.message || parsedBody.Message || errorCode,
6887
+ response = new S3ServiceException_1.S3ServiceException({
6888
+ name: parsedBody.code || parsedBody.Code || errorCode,
6963
6889
  $fault: "client",
6964
6890
  $metadata: deserializeMetadata(output),
6965
- };
6891
+ });
6892
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
6966
6893
  }
6967
- const message = response.message || response.Message || errorCode;
6968
- response.message = message;
6969
- delete response.Message;
6970
- return Promise.reject(Object.assign(new Error(message), response));
6971
6894
  };
6972
6895
  const deserializeAws_restXmlListBucketMetricsConfigurationsCommand = async (output, context) => {
6973
6896
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7010,19 +6933,13 @@ const deserializeAws_restXmlListBucketMetricsConfigurationsCommandError = async
7010
6933
  switch (errorCode) {
7011
6934
  default:
7012
6935
  const parsedBody = parsedOutput.body;
7013
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7014
- response = {
7015
- ...parsedBody,
7016
- name: `${errorCode}`,
7017
- message: parsedBody.message || parsedBody.Message || errorCode,
6936
+ response = new S3ServiceException_1.S3ServiceException({
6937
+ name: parsedBody.code || parsedBody.Code || errorCode,
7018
6938
  $fault: "client",
7019
6939
  $metadata: deserializeMetadata(output),
7020
- };
6940
+ });
6941
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7021
6942
  }
7022
- const message = response.message || response.Message || errorCode;
7023
- response.message = message;
7024
- delete response.Message;
7025
- return Promise.reject(Object.assign(new Error(message), response));
7026
6943
  };
7027
6944
  const deserializeAws_restXmlListBucketsCommand = async (output, context) => {
7028
6945
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7057,19 +6974,13 @@ const deserializeAws_restXmlListBucketsCommandError = async (output, context) =>
7057
6974
  switch (errorCode) {
7058
6975
  default:
7059
6976
  const parsedBody = parsedOutput.body;
7060
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7061
- response = {
7062
- ...parsedBody,
7063
- name: `${errorCode}`,
7064
- message: parsedBody.message || parsedBody.Message || errorCode,
6977
+ response = new S3ServiceException_1.S3ServiceException({
6978
+ name: parsedBody.code || parsedBody.Code || errorCode,
7065
6979
  $fault: "client",
7066
6980
  $metadata: deserializeMetadata(output),
7067
- };
6981
+ });
6982
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7068
6983
  }
7069
- const message = response.message || response.Message || errorCode;
7070
- response.message = message;
7071
- delete response.Message;
7072
- return Promise.reject(Object.assign(new Error(message), response));
7073
6984
  };
7074
6985
  const deserializeAws_restXmlListMultipartUploadsCommand = async (output, context) => {
7075
6986
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7147,19 +7058,13 @@ const deserializeAws_restXmlListMultipartUploadsCommandError = async (output, co
7147
7058
  switch (errorCode) {
7148
7059
  default:
7149
7060
  const parsedBody = parsedOutput.body;
7150
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7151
- response = {
7152
- ...parsedBody,
7153
- name: `${errorCode}`,
7154
- message: parsedBody.message || parsedBody.Message || errorCode,
7061
+ response = new S3ServiceException_1.S3ServiceException({
7062
+ name: parsedBody.code || parsedBody.Code || errorCode,
7155
7063
  $fault: "client",
7156
7064
  $metadata: deserializeMetadata(output),
7157
- };
7065
+ });
7066
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7158
7067
  }
7159
- const message = response.message || response.Message || errorCode;
7160
- response.message = message;
7161
- delete response.Message;
7162
- return Promise.reject(Object.assign(new Error(message), response));
7163
7068
  };
7164
7069
  const deserializeAws_restXmlListObjectsCommand = async (output, context) => {
7165
7070
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7229,27 +7134,16 @@ const deserializeAws_restXmlListObjectsCommandError = async (output, context) =>
7229
7134
  switch (errorCode) {
7230
7135
  case "NoSuchBucket":
7231
7136
  case "com.amazonaws.s3#NoSuchBucket":
7232
- response = {
7233
- ...(await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)),
7234
- name: errorCode,
7235
- $metadata: deserializeMetadata(output),
7236
- };
7237
- break;
7137
+ throw await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context);
7238
7138
  default:
7239
7139
  const parsedBody = parsedOutput.body;
7240
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7241
- response = {
7242
- ...parsedBody,
7243
- name: `${errorCode}`,
7244
- message: parsedBody.message || parsedBody.Message || errorCode,
7140
+ response = new S3ServiceException_1.S3ServiceException({
7141
+ name: parsedBody.code || parsedBody.Code || errorCode,
7245
7142
  $fault: "client",
7246
7143
  $metadata: deserializeMetadata(output),
7247
- };
7144
+ });
7145
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7248
7146
  }
7249
- const message = response.message || response.Message || errorCode;
7250
- response.message = message;
7251
- delete response.Message;
7252
- return Promise.reject(Object.assign(new Error(message), response));
7253
7147
  };
7254
7148
  const deserializeAws_restXmlListObjectsV2Command = async (output, context) => {
7255
7149
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7327,27 +7221,16 @@ const deserializeAws_restXmlListObjectsV2CommandError = async (output, context)
7327
7221
  switch (errorCode) {
7328
7222
  case "NoSuchBucket":
7329
7223
  case "com.amazonaws.s3#NoSuchBucket":
7330
- response = {
7331
- ...(await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)),
7332
- name: errorCode,
7333
- $metadata: deserializeMetadata(output),
7334
- };
7335
- break;
7224
+ throw await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context);
7336
7225
  default:
7337
7226
  const parsedBody = parsedOutput.body;
7338
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7339
- response = {
7340
- ...parsedBody,
7341
- name: `${errorCode}`,
7342
- message: parsedBody.message || parsedBody.Message || errorCode,
7227
+ response = new S3ServiceException_1.S3ServiceException({
7228
+ name: parsedBody.code || parsedBody.Code || errorCode,
7343
7229
  $fault: "client",
7344
7230
  $metadata: deserializeMetadata(output),
7345
- };
7231
+ });
7232
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7346
7233
  }
7347
- const message = response.message || response.Message || errorCode;
7348
- response.message = message;
7349
- delete response.Message;
7350
- return Promise.reject(Object.assign(new Error(message), response));
7351
7234
  };
7352
7235
  const deserializeAws_restXmlListObjectVersionsCommand = async (output, context) => {
7353
7236
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7432,19 +7315,13 @@ const deserializeAws_restXmlListObjectVersionsCommandError = async (output, cont
7432
7315
  switch (errorCode) {
7433
7316
  default:
7434
7317
  const parsedBody = parsedOutput.body;
7435
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7436
- response = {
7437
- ...parsedBody,
7438
- name: `${errorCode}`,
7439
- message: parsedBody.message || parsedBody.Message || errorCode,
7318
+ response = new S3ServiceException_1.S3ServiceException({
7319
+ name: parsedBody.code || parsedBody.Code || errorCode,
7440
7320
  $fault: "client",
7441
7321
  $metadata: deserializeMetadata(output),
7442
- };
7322
+ });
7323
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7443
7324
  }
7444
- const message = response.message || response.Message || errorCode;
7445
- response.message = message;
7446
- delete response.Message;
7447
- return Promise.reject(Object.assign(new Error(message), response));
7448
7325
  };
7449
7326
  const deserializeAws_restXmlListPartsCommand = async (output, context) => {
7450
7327
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7455,6 +7332,7 @@ const deserializeAws_restXmlListPartsCommand = async (output, context) => {
7455
7332
  AbortDate: undefined,
7456
7333
  AbortRuleId: undefined,
7457
7334
  Bucket: undefined,
7335
+ ChecksumAlgorithm: undefined,
7458
7336
  Initiator: undefined,
7459
7337
  IsTruncated: undefined,
7460
7338
  Key: undefined,
@@ -7480,6 +7358,9 @@ const deserializeAws_restXmlListPartsCommand = async (output, context) => {
7480
7358
  if (data["Bucket"] !== undefined) {
7481
7359
  contents.Bucket = smithy_client_1.expectString(data["Bucket"]);
7482
7360
  }
7361
+ if (data["ChecksumAlgorithm"] !== undefined) {
7362
+ contents.ChecksumAlgorithm = smithy_client_1.expectString(data["ChecksumAlgorithm"]);
7363
+ }
7483
7364
  if (data["Initiator"] !== undefined) {
7484
7365
  contents.Initiator = deserializeAws_restXmlInitiator(data["Initiator"], context);
7485
7366
  }
@@ -7527,19 +7408,13 @@ const deserializeAws_restXmlListPartsCommandError = async (output, context) => {
7527
7408
  switch (errorCode) {
7528
7409
  default:
7529
7410
  const parsedBody = parsedOutput.body;
7530
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7531
- response = {
7532
- ...parsedBody,
7533
- name: `${errorCode}`,
7534
- message: parsedBody.message || parsedBody.Message || errorCode,
7411
+ response = new S3ServiceException_1.S3ServiceException({
7412
+ name: parsedBody.code || parsedBody.Code || errorCode,
7535
7413
  $fault: "client",
7536
7414
  $metadata: deserializeMetadata(output),
7537
- };
7415
+ });
7416
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7538
7417
  }
7539
- const message = response.message || response.Message || errorCode;
7540
- response.message = message;
7541
- delete response.Message;
7542
- return Promise.reject(Object.assign(new Error(message), response));
7543
7418
  };
7544
7419
  const deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = async (output, context) => {
7545
7420
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7563,19 +7438,13 @@ const deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError = async
7563
7438
  switch (errorCode) {
7564
7439
  default:
7565
7440
  const parsedBody = parsedOutput.body;
7566
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7567
- response = {
7568
- ...parsedBody,
7569
- name: `${errorCode}`,
7570
- message: parsedBody.message || parsedBody.Message || errorCode,
7441
+ response = new S3ServiceException_1.S3ServiceException({
7442
+ name: parsedBody.code || parsedBody.Code || errorCode,
7571
7443
  $fault: "client",
7572
7444
  $metadata: deserializeMetadata(output),
7573
- };
7445
+ });
7446
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7574
7447
  }
7575
- const message = response.message || response.Message || errorCode;
7576
- response.message = message;
7577
- delete response.Message;
7578
- return Promise.reject(Object.assign(new Error(message), response));
7579
7448
  };
7580
7449
  const deserializeAws_restXmlPutBucketAclCommand = async (output, context) => {
7581
7450
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7599,19 +7468,13 @@ const deserializeAws_restXmlPutBucketAclCommandError = async (output, context) =
7599
7468
  switch (errorCode) {
7600
7469
  default:
7601
7470
  const parsedBody = parsedOutput.body;
7602
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7603
- response = {
7604
- ...parsedBody,
7605
- name: `${errorCode}`,
7606
- message: parsedBody.message || parsedBody.Message || errorCode,
7471
+ response = new S3ServiceException_1.S3ServiceException({
7472
+ name: parsedBody.code || parsedBody.Code || errorCode,
7607
7473
  $fault: "client",
7608
7474
  $metadata: deserializeMetadata(output),
7609
- };
7475
+ });
7476
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7610
7477
  }
7611
- const message = response.message || response.Message || errorCode;
7612
- response.message = message;
7613
- delete response.Message;
7614
- return Promise.reject(Object.assign(new Error(message), response));
7615
7478
  };
7616
7479
  const deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = async (output, context) => {
7617
7480
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7635,19 +7498,13 @@ const deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError = async
7635
7498
  switch (errorCode) {
7636
7499
  default:
7637
7500
  const parsedBody = parsedOutput.body;
7638
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7639
- response = {
7640
- ...parsedBody,
7641
- name: `${errorCode}`,
7642
- message: parsedBody.message || parsedBody.Message || errorCode,
7501
+ response = new S3ServiceException_1.S3ServiceException({
7502
+ name: parsedBody.code || parsedBody.Code || errorCode,
7643
7503
  $fault: "client",
7644
7504
  $metadata: deserializeMetadata(output),
7645
- };
7505
+ });
7506
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7646
7507
  }
7647
- const message = response.message || response.Message || errorCode;
7648
- response.message = message;
7649
- delete response.Message;
7650
- return Promise.reject(Object.assign(new Error(message), response));
7651
7508
  };
7652
7509
  const deserializeAws_restXmlPutBucketCorsCommand = async (output, context) => {
7653
7510
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7671,19 +7528,13 @@ const deserializeAws_restXmlPutBucketCorsCommandError = async (output, context)
7671
7528
  switch (errorCode) {
7672
7529
  default:
7673
7530
  const parsedBody = parsedOutput.body;
7674
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7675
- response = {
7676
- ...parsedBody,
7677
- name: `${errorCode}`,
7678
- message: parsedBody.message || parsedBody.Message || errorCode,
7531
+ response = new S3ServiceException_1.S3ServiceException({
7532
+ name: parsedBody.code || parsedBody.Code || errorCode,
7679
7533
  $fault: "client",
7680
7534
  $metadata: deserializeMetadata(output),
7681
- };
7535
+ });
7536
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7682
7537
  }
7683
- const message = response.message || response.Message || errorCode;
7684
- response.message = message;
7685
- delete response.Message;
7686
- return Promise.reject(Object.assign(new Error(message), response));
7687
7538
  };
7688
7539
  const deserializeAws_restXmlPutBucketEncryptionCommand = async (output, context) => {
7689
7540
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7707,19 +7558,13 @@ const deserializeAws_restXmlPutBucketEncryptionCommandError = async (output, con
7707
7558
  switch (errorCode) {
7708
7559
  default:
7709
7560
  const parsedBody = parsedOutput.body;
7710
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7711
- response = {
7712
- ...parsedBody,
7713
- name: `${errorCode}`,
7714
- message: parsedBody.message || parsedBody.Message || errorCode,
7561
+ response = new S3ServiceException_1.S3ServiceException({
7562
+ name: parsedBody.code || parsedBody.Code || errorCode,
7715
7563
  $fault: "client",
7716
7564
  $metadata: deserializeMetadata(output),
7717
- };
7565
+ });
7566
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7718
7567
  }
7719
- const message = response.message || response.Message || errorCode;
7720
- response.message = message;
7721
- delete response.Message;
7722
- return Promise.reject(Object.assign(new Error(message), response));
7723
7568
  };
7724
7569
  const deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = async (output, context) => {
7725
7570
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7743,19 +7588,13 @@ const deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError
7743
7588
  switch (errorCode) {
7744
7589
  default:
7745
7590
  const parsedBody = parsedOutput.body;
7746
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7747
- response = {
7748
- ...parsedBody,
7749
- name: `${errorCode}`,
7750
- message: parsedBody.message || parsedBody.Message || errorCode,
7591
+ response = new S3ServiceException_1.S3ServiceException({
7592
+ name: parsedBody.code || parsedBody.Code || errorCode,
7751
7593
  $fault: "client",
7752
7594
  $metadata: deserializeMetadata(output),
7753
- };
7595
+ });
7596
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7754
7597
  }
7755
- const message = response.message || response.Message || errorCode;
7756
- response.message = message;
7757
- delete response.Message;
7758
- return Promise.reject(Object.assign(new Error(message), response));
7759
7598
  };
7760
7599
  const deserializeAws_restXmlPutBucketInventoryConfigurationCommand = async (output, context) => {
7761
7600
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7779,19 +7618,13 @@ const deserializeAws_restXmlPutBucketInventoryConfigurationCommandError = async
7779
7618
  switch (errorCode) {
7780
7619
  default:
7781
7620
  const parsedBody = parsedOutput.body;
7782
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7783
- response = {
7784
- ...parsedBody,
7785
- name: `${errorCode}`,
7786
- message: parsedBody.message || parsedBody.Message || errorCode,
7621
+ response = new S3ServiceException_1.S3ServiceException({
7622
+ name: parsedBody.code || parsedBody.Code || errorCode,
7787
7623
  $fault: "client",
7788
7624
  $metadata: deserializeMetadata(output),
7789
- };
7625
+ });
7626
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7790
7627
  }
7791
- const message = response.message || response.Message || errorCode;
7792
- response.message = message;
7793
- delete response.Message;
7794
- return Promise.reject(Object.assign(new Error(message), response));
7795
7628
  };
7796
7629
  const deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = async (output, context) => {
7797
7630
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7815,19 +7648,13 @@ const deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError = async
7815
7648
  switch (errorCode) {
7816
7649
  default:
7817
7650
  const parsedBody = parsedOutput.body;
7818
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7819
- response = {
7820
- ...parsedBody,
7821
- name: `${errorCode}`,
7822
- message: parsedBody.message || parsedBody.Message || errorCode,
7651
+ response = new S3ServiceException_1.S3ServiceException({
7652
+ name: parsedBody.code || parsedBody.Code || errorCode,
7823
7653
  $fault: "client",
7824
7654
  $metadata: deserializeMetadata(output),
7825
- };
7655
+ });
7656
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7826
7657
  }
7827
- const message = response.message || response.Message || errorCode;
7828
- response.message = message;
7829
- delete response.Message;
7830
- return Promise.reject(Object.assign(new Error(message), response));
7831
7658
  };
7832
7659
  const deserializeAws_restXmlPutBucketLoggingCommand = async (output, context) => {
7833
7660
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7851,19 +7678,13 @@ const deserializeAws_restXmlPutBucketLoggingCommandError = async (output, contex
7851
7678
  switch (errorCode) {
7852
7679
  default:
7853
7680
  const parsedBody = parsedOutput.body;
7854
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7855
- response = {
7856
- ...parsedBody,
7857
- name: `${errorCode}`,
7858
- message: parsedBody.message || parsedBody.Message || errorCode,
7681
+ response = new S3ServiceException_1.S3ServiceException({
7682
+ name: parsedBody.code || parsedBody.Code || errorCode,
7859
7683
  $fault: "client",
7860
7684
  $metadata: deserializeMetadata(output),
7861
- };
7685
+ });
7686
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7862
7687
  }
7863
- const message = response.message || response.Message || errorCode;
7864
- response.message = message;
7865
- delete response.Message;
7866
- return Promise.reject(Object.assign(new Error(message), response));
7867
7688
  };
7868
7689
  const deserializeAws_restXmlPutBucketMetricsConfigurationCommand = async (output, context) => {
7869
7690
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7887,19 +7708,13 @@ const deserializeAws_restXmlPutBucketMetricsConfigurationCommandError = async (o
7887
7708
  switch (errorCode) {
7888
7709
  default:
7889
7710
  const parsedBody = parsedOutput.body;
7890
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7891
- response = {
7892
- ...parsedBody,
7893
- name: `${errorCode}`,
7894
- message: parsedBody.message || parsedBody.Message || errorCode,
7711
+ response = new S3ServiceException_1.S3ServiceException({
7712
+ name: parsedBody.code || parsedBody.Code || errorCode,
7895
7713
  $fault: "client",
7896
7714
  $metadata: deserializeMetadata(output),
7897
- };
7715
+ });
7716
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7898
7717
  }
7899
- const message = response.message || response.Message || errorCode;
7900
- response.message = message;
7901
- delete response.Message;
7902
- return Promise.reject(Object.assign(new Error(message), response));
7903
7718
  };
7904
7719
  const deserializeAws_restXmlPutBucketNotificationConfigurationCommand = async (output, context) => {
7905
7720
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7923,19 +7738,13 @@ const deserializeAws_restXmlPutBucketNotificationConfigurationCommandError = asy
7923
7738
  switch (errorCode) {
7924
7739
  default:
7925
7740
  const parsedBody = parsedOutput.body;
7926
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7927
- response = {
7928
- ...parsedBody,
7929
- name: `${errorCode}`,
7930
- message: parsedBody.message || parsedBody.Message || errorCode,
7741
+ response = new S3ServiceException_1.S3ServiceException({
7742
+ name: parsedBody.code || parsedBody.Code || errorCode,
7931
7743
  $fault: "client",
7932
7744
  $metadata: deserializeMetadata(output),
7933
- };
7745
+ });
7746
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7934
7747
  }
7935
- const message = response.message || response.Message || errorCode;
7936
- response.message = message;
7937
- delete response.Message;
7938
- return Promise.reject(Object.assign(new Error(message), response));
7939
7748
  };
7940
7749
  const deserializeAws_restXmlPutBucketOwnershipControlsCommand = async (output, context) => {
7941
7750
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7959,19 +7768,13 @@ const deserializeAws_restXmlPutBucketOwnershipControlsCommandError = async (outp
7959
7768
  switch (errorCode) {
7960
7769
  default:
7961
7770
  const parsedBody = parsedOutput.body;
7962
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7963
- response = {
7964
- ...parsedBody,
7965
- name: `${errorCode}`,
7966
- message: parsedBody.message || parsedBody.Message || errorCode,
7771
+ response = new S3ServiceException_1.S3ServiceException({
7772
+ name: parsedBody.code || parsedBody.Code || errorCode,
7967
7773
  $fault: "client",
7968
7774
  $metadata: deserializeMetadata(output),
7969
- };
7775
+ });
7776
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
7970
7777
  }
7971
- const message = response.message || response.Message || errorCode;
7972
- response.message = message;
7973
- delete response.Message;
7974
- return Promise.reject(Object.assign(new Error(message), response));
7975
7778
  };
7976
7779
  const deserializeAws_restXmlPutBucketPolicyCommand = async (output, context) => {
7977
7780
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -7995,19 +7798,13 @@ const deserializeAws_restXmlPutBucketPolicyCommandError = async (output, context
7995
7798
  switch (errorCode) {
7996
7799
  default:
7997
7800
  const parsedBody = parsedOutput.body;
7998
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
7999
- response = {
8000
- ...parsedBody,
8001
- name: `${errorCode}`,
8002
- message: parsedBody.message || parsedBody.Message || errorCode,
7801
+ response = new S3ServiceException_1.S3ServiceException({
7802
+ name: parsedBody.code || parsedBody.Code || errorCode,
8003
7803
  $fault: "client",
8004
7804
  $metadata: deserializeMetadata(output),
8005
- };
7805
+ });
7806
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8006
7807
  }
8007
- const message = response.message || response.Message || errorCode;
8008
- response.message = message;
8009
- delete response.Message;
8010
- return Promise.reject(Object.assign(new Error(message), response));
8011
7808
  };
8012
7809
  const deserializeAws_restXmlPutBucketReplicationCommand = async (output, context) => {
8013
7810
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8031,19 +7828,13 @@ const deserializeAws_restXmlPutBucketReplicationCommandError = async (output, co
8031
7828
  switch (errorCode) {
8032
7829
  default:
8033
7830
  const parsedBody = parsedOutput.body;
8034
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8035
- response = {
8036
- ...parsedBody,
8037
- name: `${errorCode}`,
8038
- message: parsedBody.message || parsedBody.Message || errorCode,
7831
+ response = new S3ServiceException_1.S3ServiceException({
7832
+ name: parsedBody.code || parsedBody.Code || errorCode,
8039
7833
  $fault: "client",
8040
7834
  $metadata: deserializeMetadata(output),
8041
- };
7835
+ });
7836
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8042
7837
  }
8043
- const message = response.message || response.Message || errorCode;
8044
- response.message = message;
8045
- delete response.Message;
8046
- return Promise.reject(Object.assign(new Error(message), response));
8047
7838
  };
8048
7839
  const deserializeAws_restXmlPutBucketRequestPaymentCommand = async (output, context) => {
8049
7840
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8067,19 +7858,13 @@ const deserializeAws_restXmlPutBucketRequestPaymentCommandError = async (output,
8067
7858
  switch (errorCode) {
8068
7859
  default:
8069
7860
  const parsedBody = parsedOutput.body;
8070
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8071
- response = {
8072
- ...parsedBody,
8073
- name: `${errorCode}`,
8074
- message: parsedBody.message || parsedBody.Message || errorCode,
7861
+ response = new S3ServiceException_1.S3ServiceException({
7862
+ name: parsedBody.code || parsedBody.Code || errorCode,
8075
7863
  $fault: "client",
8076
7864
  $metadata: deserializeMetadata(output),
8077
- };
7865
+ });
7866
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8078
7867
  }
8079
- const message = response.message || response.Message || errorCode;
8080
- response.message = message;
8081
- delete response.Message;
8082
- return Promise.reject(Object.assign(new Error(message), response));
8083
7868
  };
8084
7869
  const deserializeAws_restXmlPutBucketTaggingCommand = async (output, context) => {
8085
7870
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8103,19 +7888,13 @@ const deserializeAws_restXmlPutBucketTaggingCommandError = async (output, contex
8103
7888
  switch (errorCode) {
8104
7889
  default:
8105
7890
  const parsedBody = parsedOutput.body;
8106
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8107
- response = {
8108
- ...parsedBody,
8109
- name: `${errorCode}`,
8110
- message: parsedBody.message || parsedBody.Message || errorCode,
7891
+ response = new S3ServiceException_1.S3ServiceException({
7892
+ name: parsedBody.code || parsedBody.Code || errorCode,
8111
7893
  $fault: "client",
8112
7894
  $metadata: deserializeMetadata(output),
8113
- };
7895
+ });
7896
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8114
7897
  }
8115
- const message = response.message || response.Message || errorCode;
8116
- response.message = message;
8117
- delete response.Message;
8118
- return Promise.reject(Object.assign(new Error(message), response));
8119
7898
  };
8120
7899
  const deserializeAws_restXmlPutBucketVersioningCommand = async (output, context) => {
8121
7900
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8139,19 +7918,13 @@ const deserializeAws_restXmlPutBucketVersioningCommandError = async (output, con
8139
7918
  switch (errorCode) {
8140
7919
  default:
8141
7920
  const parsedBody = parsedOutput.body;
8142
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8143
- response = {
8144
- ...parsedBody,
8145
- name: `${errorCode}`,
8146
- message: parsedBody.message || parsedBody.Message || errorCode,
7921
+ response = new S3ServiceException_1.S3ServiceException({
7922
+ name: parsedBody.code || parsedBody.Code || errorCode,
8147
7923
  $fault: "client",
8148
7924
  $metadata: deserializeMetadata(output),
8149
- };
7925
+ });
7926
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8150
7927
  }
8151
- const message = response.message || response.Message || errorCode;
8152
- response.message = message;
8153
- delete response.Message;
8154
- return Promise.reject(Object.assign(new Error(message), response));
8155
7928
  };
8156
7929
  const deserializeAws_restXmlPutBucketWebsiteCommand = async (output, context) => {
8157
7930
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8175,19 +7948,13 @@ const deserializeAws_restXmlPutBucketWebsiteCommandError = async (output, contex
8175
7948
  switch (errorCode) {
8176
7949
  default:
8177
7950
  const parsedBody = parsedOutput.body;
8178
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8179
- response = {
8180
- ...parsedBody,
8181
- name: `${errorCode}`,
8182
- message: parsedBody.message || parsedBody.Message || errorCode,
7951
+ response = new S3ServiceException_1.S3ServiceException({
7952
+ name: parsedBody.code || parsedBody.Code || errorCode,
8183
7953
  $fault: "client",
8184
7954
  $metadata: deserializeMetadata(output),
8185
- };
7955
+ });
7956
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8186
7957
  }
8187
- const message = response.message || response.Message || errorCode;
8188
- response.message = message;
8189
- delete response.Message;
8190
- return Promise.reject(Object.assign(new Error(message), response));
8191
7958
  };
8192
7959
  const deserializeAws_restXmlPutObjectCommand = async (output, context) => {
8193
7960
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8196,6 +7963,10 @@ const deserializeAws_restXmlPutObjectCommand = async (output, context) => {
8196
7963
  const contents = {
8197
7964
  $metadata: deserializeMetadata(output),
8198
7965
  BucketKeyEnabled: undefined,
7966
+ ChecksumCRC32: undefined,
7967
+ ChecksumCRC32C: undefined,
7968
+ ChecksumSHA1: undefined,
7969
+ ChecksumSHA256: undefined,
8199
7970
  ETag: undefined,
8200
7971
  Expiration: undefined,
8201
7972
  RequestCharged: undefined,
@@ -8212,6 +7983,18 @@ const deserializeAws_restXmlPutObjectCommand = async (output, context) => {
8212
7983
  if (output.headers["etag"] !== undefined) {
8213
7984
  contents.ETag = output.headers["etag"];
8214
7985
  }
7986
+ if (output.headers["x-amz-checksum-crc32"] !== undefined) {
7987
+ contents.ChecksumCRC32 = output.headers["x-amz-checksum-crc32"];
7988
+ }
7989
+ if (output.headers["x-amz-checksum-crc32c"] !== undefined) {
7990
+ contents.ChecksumCRC32C = output.headers["x-amz-checksum-crc32c"];
7991
+ }
7992
+ if (output.headers["x-amz-checksum-sha1"] !== undefined) {
7993
+ contents.ChecksumSHA1 = output.headers["x-amz-checksum-sha1"];
7994
+ }
7995
+ if (output.headers["x-amz-checksum-sha256"] !== undefined) {
7996
+ contents.ChecksumSHA256 = output.headers["x-amz-checksum-sha256"];
7997
+ }
8215
7998
  if (output.headers["x-amz-server-side-encryption"] !== undefined) {
8216
7999
  contents.ServerSideEncryption = output.headers["x-amz-server-side-encryption"];
8217
8000
  }
@@ -8251,19 +8034,13 @@ const deserializeAws_restXmlPutObjectCommandError = async (output, context) => {
8251
8034
  switch (errorCode) {
8252
8035
  default:
8253
8036
  const parsedBody = parsedOutput.body;
8254
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8255
- response = {
8256
- ...parsedBody,
8257
- name: `${errorCode}`,
8258
- message: parsedBody.message || parsedBody.Message || errorCode,
8037
+ response = new S3ServiceException_1.S3ServiceException({
8038
+ name: parsedBody.code || parsedBody.Code || errorCode,
8259
8039
  $fault: "client",
8260
8040
  $metadata: deserializeMetadata(output),
8261
- };
8041
+ });
8042
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8262
8043
  }
8263
- const message = response.message || response.Message || errorCode;
8264
- response.message = message;
8265
- delete response.Message;
8266
- return Promise.reject(Object.assign(new Error(message), response));
8267
8044
  };
8268
8045
  const deserializeAws_restXmlPutObjectAclCommand = async (output, context) => {
8269
8046
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8291,27 +8068,16 @@ const deserializeAws_restXmlPutObjectAclCommandError = async (output, context) =
8291
8068
  switch (errorCode) {
8292
8069
  case "NoSuchKey":
8293
8070
  case "com.amazonaws.s3#NoSuchKey":
8294
- response = {
8295
- ...(await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)),
8296
- name: errorCode,
8297
- $metadata: deserializeMetadata(output),
8298
- };
8299
- break;
8071
+ throw await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context);
8300
8072
  default:
8301
8073
  const parsedBody = parsedOutput.body;
8302
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8303
- response = {
8304
- ...parsedBody,
8305
- name: `${errorCode}`,
8306
- message: parsedBody.message || parsedBody.Message || errorCode,
8074
+ response = new S3ServiceException_1.S3ServiceException({
8075
+ name: parsedBody.code || parsedBody.Code || errorCode,
8307
8076
  $fault: "client",
8308
8077
  $metadata: deserializeMetadata(output),
8309
- };
8078
+ });
8079
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8310
8080
  }
8311
- const message = response.message || response.Message || errorCode;
8312
- response.message = message;
8313
- delete response.Message;
8314
- return Promise.reject(Object.assign(new Error(message), response));
8315
8081
  };
8316
8082
  const deserializeAws_restXmlPutObjectLegalHoldCommand = async (output, context) => {
8317
8083
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8339,19 +8105,13 @@ const deserializeAws_restXmlPutObjectLegalHoldCommandError = async (output, cont
8339
8105
  switch (errorCode) {
8340
8106
  default:
8341
8107
  const parsedBody = parsedOutput.body;
8342
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8343
- response = {
8344
- ...parsedBody,
8345
- name: `${errorCode}`,
8346
- message: parsedBody.message || parsedBody.Message || errorCode,
8108
+ response = new S3ServiceException_1.S3ServiceException({
8109
+ name: parsedBody.code || parsedBody.Code || errorCode,
8347
8110
  $fault: "client",
8348
8111
  $metadata: deserializeMetadata(output),
8349
- };
8112
+ });
8113
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8350
8114
  }
8351
- const message = response.message || response.Message || errorCode;
8352
- response.message = message;
8353
- delete response.Message;
8354
- return Promise.reject(Object.assign(new Error(message), response));
8355
8115
  };
8356
8116
  const deserializeAws_restXmlPutObjectLockConfigurationCommand = async (output, context) => {
8357
8117
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8379,19 +8139,13 @@ const deserializeAws_restXmlPutObjectLockConfigurationCommandError = async (outp
8379
8139
  switch (errorCode) {
8380
8140
  default:
8381
8141
  const parsedBody = parsedOutput.body;
8382
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8383
- response = {
8384
- ...parsedBody,
8385
- name: `${errorCode}`,
8386
- message: parsedBody.message || parsedBody.Message || errorCode,
8142
+ response = new S3ServiceException_1.S3ServiceException({
8143
+ name: parsedBody.code || parsedBody.Code || errorCode,
8387
8144
  $fault: "client",
8388
8145
  $metadata: deserializeMetadata(output),
8389
- };
8146
+ });
8147
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8390
8148
  }
8391
- const message = response.message || response.Message || errorCode;
8392
- response.message = message;
8393
- delete response.Message;
8394
- return Promise.reject(Object.assign(new Error(message), response));
8395
8149
  };
8396
8150
  const deserializeAws_restXmlPutObjectRetentionCommand = async (output, context) => {
8397
8151
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8419,19 +8173,13 @@ const deserializeAws_restXmlPutObjectRetentionCommandError = async (output, cont
8419
8173
  switch (errorCode) {
8420
8174
  default:
8421
8175
  const parsedBody = parsedOutput.body;
8422
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8423
- response = {
8424
- ...parsedBody,
8425
- name: `${errorCode}`,
8426
- message: parsedBody.message || parsedBody.Message || errorCode,
8176
+ response = new S3ServiceException_1.S3ServiceException({
8177
+ name: parsedBody.code || parsedBody.Code || errorCode,
8427
8178
  $fault: "client",
8428
8179
  $metadata: deserializeMetadata(output),
8429
- };
8180
+ });
8181
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8430
8182
  }
8431
- const message = response.message || response.Message || errorCode;
8432
- response.message = message;
8433
- delete response.Message;
8434
- return Promise.reject(Object.assign(new Error(message), response));
8435
8183
  };
8436
8184
  const deserializeAws_restXmlPutObjectTaggingCommand = async (output, context) => {
8437
8185
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8459,19 +8207,13 @@ const deserializeAws_restXmlPutObjectTaggingCommandError = async (output, contex
8459
8207
  switch (errorCode) {
8460
8208
  default:
8461
8209
  const parsedBody = parsedOutput.body;
8462
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8463
- response = {
8464
- ...parsedBody,
8465
- name: `${errorCode}`,
8466
- message: parsedBody.message || parsedBody.Message || errorCode,
8210
+ response = new S3ServiceException_1.S3ServiceException({
8211
+ name: parsedBody.code || parsedBody.Code || errorCode,
8467
8212
  $fault: "client",
8468
8213
  $metadata: deserializeMetadata(output),
8469
- };
8214
+ });
8215
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8470
8216
  }
8471
- const message = response.message || response.Message || errorCode;
8472
- response.message = message;
8473
- delete response.Message;
8474
- return Promise.reject(Object.assign(new Error(message), response));
8475
8217
  };
8476
8218
  const deserializeAws_restXmlPutPublicAccessBlockCommand = async (output, context) => {
8477
8219
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8495,19 +8237,13 @@ const deserializeAws_restXmlPutPublicAccessBlockCommandError = async (output, co
8495
8237
  switch (errorCode) {
8496
8238
  default:
8497
8239
  const parsedBody = parsedOutput.body;
8498
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8499
- response = {
8500
- ...parsedBody,
8501
- name: `${errorCode}`,
8502
- message: parsedBody.message || parsedBody.Message || errorCode,
8240
+ response = new S3ServiceException_1.S3ServiceException({
8241
+ name: parsedBody.code || parsedBody.Code || errorCode,
8503
8242
  $fault: "client",
8504
8243
  $metadata: deserializeMetadata(output),
8505
- };
8244
+ });
8245
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8506
8246
  }
8507
- const message = response.message || response.Message || errorCode;
8508
- response.message = message;
8509
- delete response.Message;
8510
- return Promise.reject(Object.assign(new Error(message), response));
8511
8247
  };
8512
8248
  const deserializeAws_restXmlRestoreObjectCommand = async (output, context) => {
8513
8249
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8539,27 +8275,16 @@ const deserializeAws_restXmlRestoreObjectCommandError = async (output, context)
8539
8275
  switch (errorCode) {
8540
8276
  case "ObjectAlreadyInActiveTierError":
8541
8277
  case "com.amazonaws.s3#ObjectAlreadyInActiveTierError":
8542
- response = {
8543
- ...(await deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context)),
8544
- name: errorCode,
8545
- $metadata: deserializeMetadata(output),
8546
- };
8547
- break;
8278
+ throw await deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context);
8548
8279
  default:
8549
8280
  const parsedBody = parsedOutput.body;
8550
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8551
- response = {
8552
- ...parsedBody,
8553
- name: `${errorCode}`,
8554
- message: parsedBody.message || parsedBody.Message || errorCode,
8281
+ response = new S3ServiceException_1.S3ServiceException({
8282
+ name: parsedBody.code || parsedBody.Code || errorCode,
8555
8283
  $fault: "client",
8556
8284
  $metadata: deserializeMetadata(output),
8557
- };
8285
+ });
8286
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8558
8287
  }
8559
- const message = response.message || response.Message || errorCode;
8560
- response.message = message;
8561
- delete response.Message;
8562
- return Promise.reject(Object.assign(new Error(message), response));
8563
8288
  };
8564
8289
  const deserializeAws_restXmlSelectObjectContentCommand = async (output, context) => {
8565
8290
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8599,19 +8324,13 @@ const deserializeAws_restXmlSelectObjectContentCommandError = async (output, con
8599
8324
  switch (errorCode) {
8600
8325
  default:
8601
8326
  const parsedBody = parsedOutput.body;
8602
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8603
- response = {
8604
- ...parsedBody,
8605
- name: `${errorCode}`,
8606
- message: parsedBody.message || parsedBody.Message || errorCode,
8327
+ response = new S3ServiceException_1.S3ServiceException({
8328
+ name: parsedBody.code || parsedBody.Code || errorCode,
8607
8329
  $fault: "client",
8608
8330
  $metadata: deserializeMetadata(output),
8609
- };
8331
+ });
8332
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8610
8333
  }
8611
- const message = response.message || response.Message || errorCode;
8612
- response.message = message;
8613
- delete response.Message;
8614
- return Promise.reject(Object.assign(new Error(message), response));
8615
8334
  };
8616
8335
  const deserializeAws_restXmlUploadPartCommand = async (output, context) => {
8617
8336
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8620,6 +8339,10 @@ const deserializeAws_restXmlUploadPartCommand = async (output, context) => {
8620
8339
  const contents = {
8621
8340
  $metadata: deserializeMetadata(output),
8622
8341
  BucketKeyEnabled: undefined,
8342
+ ChecksumCRC32: undefined,
8343
+ ChecksumCRC32C: undefined,
8344
+ ChecksumSHA1: undefined,
8345
+ ChecksumSHA256: undefined,
8623
8346
  ETag: undefined,
8624
8347
  RequestCharged: undefined,
8625
8348
  SSECustomerAlgorithm: undefined,
@@ -8633,6 +8356,18 @@ const deserializeAws_restXmlUploadPartCommand = async (output, context) => {
8633
8356
  if (output.headers["etag"] !== undefined) {
8634
8357
  contents.ETag = output.headers["etag"];
8635
8358
  }
8359
+ if (output.headers["x-amz-checksum-crc32"] !== undefined) {
8360
+ contents.ChecksumCRC32 = output.headers["x-amz-checksum-crc32"];
8361
+ }
8362
+ if (output.headers["x-amz-checksum-crc32c"] !== undefined) {
8363
+ contents.ChecksumCRC32C = output.headers["x-amz-checksum-crc32c"];
8364
+ }
8365
+ if (output.headers["x-amz-checksum-sha1"] !== undefined) {
8366
+ contents.ChecksumSHA1 = output.headers["x-amz-checksum-sha1"];
8367
+ }
8368
+ if (output.headers["x-amz-checksum-sha256"] !== undefined) {
8369
+ contents.ChecksumSHA256 = output.headers["x-amz-checksum-sha256"];
8370
+ }
8636
8371
  if (output.headers["x-amz-server-side-encryption-customer-algorithm"] !== undefined) {
8637
8372
  contents.SSECustomerAlgorithm = output.headers["x-amz-server-side-encryption-customer-algorithm"];
8638
8373
  }
@@ -8663,19 +8398,13 @@ const deserializeAws_restXmlUploadPartCommandError = async (output, context) =>
8663
8398
  switch (errorCode) {
8664
8399
  default:
8665
8400
  const parsedBody = parsedOutput.body;
8666
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8667
- response = {
8668
- ...parsedBody,
8669
- name: `${errorCode}`,
8670
- message: parsedBody.message || parsedBody.Message || errorCode,
8401
+ response = new S3ServiceException_1.S3ServiceException({
8402
+ name: parsedBody.code || parsedBody.Code || errorCode,
8671
8403
  $fault: "client",
8672
8404
  $metadata: deserializeMetadata(output),
8673
- };
8405
+ });
8406
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8674
8407
  }
8675
- const message = response.message || response.Message || errorCode;
8676
- response.message = message;
8677
- delete response.Message;
8678
- return Promise.reject(Object.assign(new Error(message), response));
8679
8408
  };
8680
8409
  const deserializeAws_restXmlUploadPartCopyCommand = async (output, context) => {
8681
8410
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8729,19 +8458,13 @@ const deserializeAws_restXmlUploadPartCopyCommandError = async (output, context)
8729
8458
  switch (errorCode) {
8730
8459
  default:
8731
8460
  const parsedBody = parsedOutput.body;
8732
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8733
- response = {
8734
- ...parsedBody,
8735
- name: `${errorCode}`,
8736
- message: parsedBody.message || parsedBody.Message || errorCode,
8461
+ response = new S3ServiceException_1.S3ServiceException({
8462
+ name: parsedBody.code || parsedBody.Code || errorCode,
8737
8463
  $fault: "client",
8738
8464
  $metadata: deserializeMetadata(output),
8739
- };
8465
+ });
8466
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8740
8467
  }
8741
- const message = response.message || response.Message || errorCode;
8742
- response.message = message;
8743
- delete response.Message;
8744
- return Promise.reject(Object.assign(new Error(message), response));
8745
8468
  };
8746
8469
  const deserializeAws_restXmlWriteGetObjectResponseCommand = async (output, context) => {
8747
8470
  if (output.statusCode !== 200 && output.statusCode >= 300) {
@@ -8765,19 +8488,13 @@ const deserializeAws_restXmlWriteGetObjectResponseCommandError = async (output,
8765
8488
  switch (errorCode) {
8766
8489
  default:
8767
8490
  const parsedBody = parsedOutput.body;
8768
- errorCode = parsedBody.code || parsedBody.Code || errorCode;
8769
- response = {
8770
- ...parsedBody,
8771
- name: `${errorCode}`,
8772
- message: parsedBody.message || parsedBody.Message || errorCode,
8491
+ response = new S3ServiceException_1.S3ServiceException({
8492
+ name: parsedBody.code || parsedBody.Code || errorCode,
8773
8493
  $fault: "client",
8774
8494
  $metadata: deserializeMetadata(output),
8775
- };
8495
+ });
8496
+ throw smithy_client_1.decorateServiceException(response, parsedBody);
8776
8497
  }
8777
- const message = response.message || response.Message || errorCode;
8778
- response.message = message;
8779
- delete response.Message;
8780
- return Promise.reject(Object.assign(new Error(message), response));
8781
8498
  };
8782
8499
  const deserializeAws_restXmlSelectObjectContentEventStream_event = async (output, context) => {
8783
8500
  if (output["Records"] !== undefined) {
@@ -8831,31 +8548,25 @@ const deserializeAws_restXmlStatsEvent_event = async (output, context) => {
8831
8548
  return contents;
8832
8549
  };
8833
8550
  const deserializeAws_restXmlBucketAlreadyExistsResponse = async (parsedOutput, context) => {
8834
- const contents = {
8835
- name: "BucketAlreadyExists",
8836
- $fault: "client",
8837
- $metadata: deserializeMetadata(parsedOutput),
8838
- };
8551
+ const contents = {};
8839
8552
  const data = parsedOutput.body;
8840
- return contents;
8553
+ const exception = new models_0_1.BucketAlreadyExists({
8554
+ $metadata: deserializeMetadata(parsedOutput),
8555
+ ...contents,
8556
+ });
8557
+ return smithy_client_1.decorateServiceException(exception, parsedOutput.body);
8841
8558
  };
8842
8559
  const deserializeAws_restXmlBucketAlreadyOwnedByYouResponse = async (parsedOutput, context) => {
8843
- const contents = {
8844
- name: "BucketAlreadyOwnedByYou",
8845
- $fault: "client",
8846
- $metadata: deserializeMetadata(parsedOutput),
8847
- };
8560
+ const contents = {};
8848
8561
  const data = parsedOutput.body;
8849
- return contents;
8562
+ const exception = new models_0_1.BucketAlreadyOwnedByYou({
8563
+ $metadata: deserializeMetadata(parsedOutput),
8564
+ ...contents,
8565
+ });
8566
+ return smithy_client_1.decorateServiceException(exception, parsedOutput.body);
8850
8567
  };
8851
8568
  const deserializeAws_restXmlInvalidObjectStateResponse = async (parsedOutput, context) => {
8852
- const contents = {
8853
- name: "InvalidObjectState",
8854
- $fault: "client",
8855
- $metadata: deserializeMetadata(parsedOutput),
8856
- AccessTier: undefined,
8857
- StorageClass: undefined,
8858
- };
8569
+ const contents = {};
8859
8570
  const data = parsedOutput.body;
8860
8571
  if (data["AccessTier"] !== undefined) {
8861
8572
  contents.AccessTier = smithy_client_1.expectString(data["AccessTier"]);
@@ -8863,61 +8574,65 @@ const deserializeAws_restXmlInvalidObjectStateResponse = async (parsedOutput, co
8863
8574
  if (data["StorageClass"] !== undefined) {
8864
8575
  contents.StorageClass = smithy_client_1.expectString(data["StorageClass"]);
8865
8576
  }
8866
- return contents;
8577
+ const exception = new models_0_1.InvalidObjectState({
8578
+ $metadata: deserializeMetadata(parsedOutput),
8579
+ ...contents,
8580
+ });
8581
+ return smithy_client_1.decorateServiceException(exception, parsedOutput.body);
8867
8582
  };
8868
8583
  const deserializeAws_restXmlNoSuchBucketResponse = async (parsedOutput, context) => {
8869
- const contents = {
8870
- name: "NoSuchBucket",
8871
- $fault: "client",
8872
- $metadata: deserializeMetadata(parsedOutput),
8873
- };
8584
+ const contents = {};
8874
8585
  const data = parsedOutput.body;
8875
- return contents;
8586
+ const exception = new models_0_1.NoSuchBucket({
8587
+ $metadata: deserializeMetadata(parsedOutput),
8588
+ ...contents,
8589
+ });
8590
+ return smithy_client_1.decorateServiceException(exception, parsedOutput.body);
8876
8591
  };
8877
8592
  const deserializeAws_restXmlNoSuchKeyResponse = async (parsedOutput, context) => {
8878
- const contents = {
8879
- name: "NoSuchKey",
8880
- $fault: "client",
8881
- $metadata: deserializeMetadata(parsedOutput),
8882
- };
8593
+ const contents = {};
8883
8594
  const data = parsedOutput.body;
8884
- return contents;
8595
+ const exception = new models_0_1.NoSuchKey({
8596
+ $metadata: deserializeMetadata(parsedOutput),
8597
+ ...contents,
8598
+ });
8599
+ return smithy_client_1.decorateServiceException(exception, parsedOutput.body);
8885
8600
  };
8886
8601
  const deserializeAws_restXmlNoSuchUploadResponse = async (parsedOutput, context) => {
8887
- const contents = {
8888
- name: "NoSuchUpload",
8889
- $fault: "client",
8890
- $metadata: deserializeMetadata(parsedOutput),
8891
- };
8602
+ const contents = {};
8892
8603
  const data = parsedOutput.body;
8893
- return contents;
8604
+ const exception = new models_0_1.NoSuchUpload({
8605
+ $metadata: deserializeMetadata(parsedOutput),
8606
+ ...contents,
8607
+ });
8608
+ return smithy_client_1.decorateServiceException(exception, parsedOutput.body);
8894
8609
  };
8895
8610
  const deserializeAws_restXmlNotFoundResponse = async (parsedOutput, context) => {
8896
- const contents = {
8897
- name: "NotFound",
8898
- $fault: "client",
8899
- $metadata: deserializeMetadata(parsedOutput),
8900
- };
8611
+ const contents = {};
8901
8612
  const data = parsedOutput.body;
8902
- return contents;
8613
+ const exception = new models_0_1.NotFound({
8614
+ $metadata: deserializeMetadata(parsedOutput),
8615
+ ...contents,
8616
+ });
8617
+ return smithy_client_1.decorateServiceException(exception, parsedOutput.body);
8903
8618
  };
8904
8619
  const deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse = async (parsedOutput, context) => {
8905
- const contents = {
8906
- name: "ObjectAlreadyInActiveTierError",
8907
- $fault: "client",
8908
- $metadata: deserializeMetadata(parsedOutput),
8909
- };
8620
+ const contents = {};
8910
8621
  const data = parsedOutput.body;
8911
- return contents;
8622
+ const exception = new models_1_1.ObjectAlreadyInActiveTierError({
8623
+ $metadata: deserializeMetadata(parsedOutput),
8624
+ ...contents,
8625
+ });
8626
+ return smithy_client_1.decorateServiceException(exception, parsedOutput.body);
8912
8627
  };
8913
8628
  const deserializeAws_restXmlObjectNotInActiveTierErrorResponse = async (parsedOutput, context) => {
8914
- const contents = {
8915
- name: "ObjectNotInActiveTierError",
8916
- $fault: "client",
8917
- $metadata: deserializeMetadata(parsedOutput),
8918
- };
8629
+ const contents = {};
8919
8630
  const data = parsedOutput.body;
8920
- return contents;
8631
+ const exception = new models_0_1.ObjectNotInActiveTierError({
8632
+ $metadata: deserializeMetadata(parsedOutput),
8633
+ ...contents,
8634
+ });
8635
+ return smithy_client_1.decorateServiceException(exception, parsedOutput.body);
8921
8636
  };
8922
8637
  const serializeAws_restXmlAbortIncompleteMultipartUpload = (input, context) => {
8923
8638
  const bodyNode = new xml_builder_1.XmlNode("AbortIncompleteMultipartUpload");
@@ -9117,6 +8832,28 @@ const serializeAws_restXmlCompletedPart = (input, context) => {
9117
8832
  const node = new xml_builder_1.XmlNode("ETag").addChildNode(new xml_builder_1.XmlText(input.ETag)).withName("ETag");
9118
8833
  bodyNode.addChildNode(node);
9119
8834
  }
8835
+ if (input.ChecksumCRC32 !== undefined && input.ChecksumCRC32 !== null) {
8836
+ const node = new xml_builder_1.XmlNode("ChecksumCRC32")
8837
+ .addChildNode(new xml_builder_1.XmlText(input.ChecksumCRC32))
8838
+ .withName("ChecksumCRC32");
8839
+ bodyNode.addChildNode(node);
8840
+ }
8841
+ if (input.ChecksumCRC32C !== undefined && input.ChecksumCRC32C !== null) {
8842
+ const node = new xml_builder_1.XmlNode("ChecksumCRC32C")
8843
+ .addChildNode(new xml_builder_1.XmlText(input.ChecksumCRC32C))
8844
+ .withName("ChecksumCRC32C");
8845
+ bodyNode.addChildNode(node);
8846
+ }
8847
+ if (input.ChecksumSHA1 !== undefined && input.ChecksumSHA1 !== null) {
8848
+ const node = new xml_builder_1.XmlNode("ChecksumSHA1").addChildNode(new xml_builder_1.XmlText(input.ChecksumSHA1)).withName("ChecksumSHA1");
8849
+ bodyNode.addChildNode(node);
8850
+ }
8851
+ if (input.ChecksumSHA256 !== undefined && input.ChecksumSHA256 !== null) {
8852
+ const node = new xml_builder_1.XmlNode("ChecksumSHA256")
8853
+ .addChildNode(new xml_builder_1.XmlText(input.ChecksumSHA256))
8854
+ .withName("ChecksumSHA256");
8855
+ bodyNode.addChildNode(node);
8856
+ }
9120
8857
  if (input.PartNumber !== undefined && input.PartNumber !== null) {
9121
8858
  const node = new xml_builder_1.XmlNode("PartNumber")
9122
8859
  .addChildNode(new xml_builder_1.XmlText(String(input.PartNumber)))
@@ -11111,6 +10848,37 @@ const deserializeAws_restXmlBuckets = (output, context) => {
11111
10848
  return deserializeAws_restXmlBucket(entry, context);
11112
10849
  });
11113
10850
  };
10851
+ const deserializeAws_restXmlChecksum = (output, context) => {
10852
+ const contents = {
10853
+ ChecksumCRC32: undefined,
10854
+ ChecksumCRC32C: undefined,
10855
+ ChecksumSHA1: undefined,
10856
+ ChecksumSHA256: undefined,
10857
+ };
10858
+ if (output["ChecksumCRC32"] !== undefined) {
10859
+ contents.ChecksumCRC32 = smithy_client_1.expectString(output["ChecksumCRC32"]);
10860
+ }
10861
+ if (output["ChecksumCRC32C"] !== undefined) {
10862
+ contents.ChecksumCRC32C = smithy_client_1.expectString(output["ChecksumCRC32C"]);
10863
+ }
10864
+ if (output["ChecksumSHA1"] !== undefined) {
10865
+ contents.ChecksumSHA1 = smithy_client_1.expectString(output["ChecksumSHA1"]);
10866
+ }
10867
+ if (output["ChecksumSHA256"] !== undefined) {
10868
+ contents.ChecksumSHA256 = smithy_client_1.expectString(output["ChecksumSHA256"]);
10869
+ }
10870
+ return contents;
10871
+ };
10872
+ const deserializeAws_restXmlChecksumAlgorithmList = (output, context) => {
10873
+ return (output || [])
10874
+ .filter((e) => e != null)
10875
+ .map((entry) => {
10876
+ if (entry === null) {
10877
+ return null;
10878
+ }
10879
+ return smithy_client_1.expectString(entry);
10880
+ });
10881
+ };
11114
10882
  const deserializeAws_restXmlCommonPrefix = (output, context) => {
11115
10883
  const contents = {
11116
10884
  Prefix: undefined,
@@ -11151,6 +10919,10 @@ const deserializeAws_restXmlCopyObjectResult = (output, context) => {
11151
10919
  const contents = {
11152
10920
  ETag: undefined,
11153
10921
  LastModified: undefined,
10922
+ ChecksumCRC32: undefined,
10923
+ ChecksumCRC32C: undefined,
10924
+ ChecksumSHA1: undefined,
10925
+ ChecksumSHA256: undefined,
11154
10926
  };
11155
10927
  if (output["ETag"] !== undefined) {
11156
10928
  contents.ETag = smithy_client_1.expectString(output["ETag"]);
@@ -11158,12 +10930,28 @@ const deserializeAws_restXmlCopyObjectResult = (output, context) => {
11158
10930
  if (output["LastModified"] !== undefined) {
11159
10931
  contents.LastModified = smithy_client_1.expectNonNull(smithy_client_1.parseRfc3339DateTime(output["LastModified"]));
11160
10932
  }
10933
+ if (output["ChecksumCRC32"] !== undefined) {
10934
+ contents.ChecksumCRC32 = smithy_client_1.expectString(output["ChecksumCRC32"]);
10935
+ }
10936
+ if (output["ChecksumCRC32C"] !== undefined) {
10937
+ contents.ChecksumCRC32C = smithy_client_1.expectString(output["ChecksumCRC32C"]);
10938
+ }
10939
+ if (output["ChecksumSHA1"] !== undefined) {
10940
+ contents.ChecksumSHA1 = smithy_client_1.expectString(output["ChecksumSHA1"]);
10941
+ }
10942
+ if (output["ChecksumSHA256"] !== undefined) {
10943
+ contents.ChecksumSHA256 = smithy_client_1.expectString(output["ChecksumSHA256"]);
10944
+ }
11161
10945
  return contents;
11162
10946
  };
11163
10947
  const deserializeAws_restXmlCopyPartResult = (output, context) => {
11164
10948
  const contents = {
11165
10949
  ETag: undefined,
11166
10950
  LastModified: undefined,
10951
+ ChecksumCRC32: undefined,
10952
+ ChecksumCRC32C: undefined,
10953
+ ChecksumSHA1: undefined,
10954
+ ChecksumSHA256: undefined,
11167
10955
  };
11168
10956
  if (output["ETag"] !== undefined) {
11169
10957
  contents.ETag = smithy_client_1.expectString(output["ETag"]);
@@ -11171,6 +10959,18 @@ const deserializeAws_restXmlCopyPartResult = (output, context) => {
11171
10959
  if (output["LastModified"] !== undefined) {
11172
10960
  contents.LastModified = smithy_client_1.expectNonNull(smithy_client_1.parseRfc3339DateTime(output["LastModified"]));
11173
10961
  }
10962
+ if (output["ChecksumCRC32"] !== undefined) {
10963
+ contents.ChecksumCRC32 = smithy_client_1.expectString(output["ChecksumCRC32"]);
10964
+ }
10965
+ if (output["ChecksumCRC32C"] !== undefined) {
10966
+ contents.ChecksumCRC32C = smithy_client_1.expectString(output["ChecksumCRC32C"]);
10967
+ }
10968
+ if (output["ChecksumSHA1"] !== undefined) {
10969
+ contents.ChecksumSHA1 = smithy_client_1.expectString(output["ChecksumSHA1"]);
10970
+ }
10971
+ if (output["ChecksumSHA256"] !== undefined) {
10972
+ contents.ChecksumSHA256 = smithy_client_1.expectString(output["ChecksumSHA256"]);
10973
+ }
11174
10974
  return contents;
11175
10975
  };
11176
10976
  const deserializeAws_restXmlCORSRule = (output, context) => {
@@ -11458,6 +11258,38 @@ const deserializeAws_restXmlFilterRuleList = (output, context) => {
11458
11258
  return deserializeAws_restXmlFilterRule(entry, context);
11459
11259
  });
11460
11260
  };
11261
+ const deserializeAws_restXmlGetObjectAttributesParts = (output, context) => {
11262
+ const contents = {
11263
+ TotalPartsCount: undefined,
11264
+ PartNumberMarker: undefined,
11265
+ NextPartNumberMarker: undefined,
11266
+ MaxParts: undefined,
11267
+ IsTruncated: undefined,
11268
+ Parts: undefined,
11269
+ };
11270
+ if (output["PartsCount"] !== undefined) {
11271
+ contents.TotalPartsCount = smithy_client_1.strictParseInt32(output["PartsCount"]);
11272
+ }
11273
+ if (output["PartNumberMarker"] !== undefined) {
11274
+ contents.PartNumberMarker = smithy_client_1.expectString(output["PartNumberMarker"]);
11275
+ }
11276
+ if (output["NextPartNumberMarker"] !== undefined) {
11277
+ contents.NextPartNumberMarker = smithy_client_1.expectString(output["NextPartNumberMarker"]);
11278
+ }
11279
+ if (output["MaxParts"] !== undefined) {
11280
+ contents.MaxParts = smithy_client_1.strictParseInt32(output["MaxParts"]);
11281
+ }
11282
+ if (output["IsTruncated"] !== undefined) {
11283
+ contents.IsTruncated = smithy_client_1.parseBoolean(output["IsTruncated"]);
11284
+ }
11285
+ if (output.Part === "") {
11286
+ contents.Parts = [];
11287
+ }
11288
+ if (output["Part"] !== undefined) {
11289
+ contents.Parts = deserializeAws_restXmlPartsList(smithy_client_1.getArrayIfSingleItem(output["Part"]), context);
11290
+ }
11291
+ return contents;
11292
+ };
11461
11293
  const deserializeAws_restXmlGrant = (output, context) => {
11462
11294
  const contents = {
11463
11295
  Grantee: undefined,
@@ -11983,6 +11815,7 @@ const deserializeAws_restXmlMultipartUpload = (output, context) => {
11983
11815
  StorageClass: undefined,
11984
11816
  Owner: undefined,
11985
11817
  Initiator: undefined,
11818
+ ChecksumAlgorithm: undefined,
11986
11819
  };
11987
11820
  if (output["UploadId"] !== undefined) {
11988
11821
  contents.UploadId = smithy_client_1.expectString(output["UploadId"]);
@@ -12002,6 +11835,9 @@ const deserializeAws_restXmlMultipartUpload = (output, context) => {
12002
11835
  if (output["Initiator"] !== undefined) {
12003
11836
  contents.Initiator = deserializeAws_restXmlInitiator(output["Initiator"], context);
12004
11837
  }
11838
+ if (output["ChecksumAlgorithm"] !== undefined) {
11839
+ contents.ChecksumAlgorithm = smithy_client_1.expectString(output["ChecksumAlgorithm"]);
11840
+ }
12005
11841
  return contents;
12006
11842
  };
12007
11843
  const deserializeAws_restXmlMultipartUploadList = (output, context) => {
@@ -12068,6 +11904,7 @@ const deserializeAws_restXml_Object = (output, context) => {
12068
11904
  Key: undefined,
12069
11905
  LastModified: undefined,
12070
11906
  ETag: undefined,
11907
+ ChecksumAlgorithm: undefined,
12071
11908
  Size: undefined,
12072
11909
  StorageClass: undefined,
12073
11910
  Owner: undefined,
@@ -12081,6 +11918,12 @@ const deserializeAws_restXml_Object = (output, context) => {
12081
11918
  if (output["ETag"] !== undefined) {
12082
11919
  contents.ETag = smithy_client_1.expectString(output["ETag"]);
12083
11920
  }
11921
+ if (output.ChecksumAlgorithm === "") {
11922
+ contents.ChecksumAlgorithm = [];
11923
+ }
11924
+ if (output["ChecksumAlgorithm"] !== undefined) {
11925
+ contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList(smithy_client_1.getArrayIfSingleItem(output["ChecksumAlgorithm"]), context);
11926
+ }
12084
11927
  if (output["Size"] !== undefined) {
12085
11928
  contents.Size = smithy_client_1.strictParseLong(output["Size"]);
12086
11929
  }
@@ -12146,9 +11989,39 @@ const deserializeAws_restXmlObjectLockRule = (output, context) => {
12146
11989
  }
12147
11990
  return contents;
12148
11991
  };
11992
+ const deserializeAws_restXmlObjectPart = (output, context) => {
11993
+ const contents = {
11994
+ PartNumber: undefined,
11995
+ Size: undefined,
11996
+ ChecksumCRC32: undefined,
11997
+ ChecksumCRC32C: undefined,
11998
+ ChecksumSHA1: undefined,
11999
+ ChecksumSHA256: undefined,
12000
+ };
12001
+ if (output["PartNumber"] !== undefined) {
12002
+ contents.PartNumber = smithy_client_1.strictParseInt32(output["PartNumber"]);
12003
+ }
12004
+ if (output["Size"] !== undefined) {
12005
+ contents.Size = smithy_client_1.strictParseLong(output["Size"]);
12006
+ }
12007
+ if (output["ChecksumCRC32"] !== undefined) {
12008
+ contents.ChecksumCRC32 = smithy_client_1.expectString(output["ChecksumCRC32"]);
12009
+ }
12010
+ if (output["ChecksumCRC32C"] !== undefined) {
12011
+ contents.ChecksumCRC32C = smithy_client_1.expectString(output["ChecksumCRC32C"]);
12012
+ }
12013
+ if (output["ChecksumSHA1"] !== undefined) {
12014
+ contents.ChecksumSHA1 = smithy_client_1.expectString(output["ChecksumSHA1"]);
12015
+ }
12016
+ if (output["ChecksumSHA256"] !== undefined) {
12017
+ contents.ChecksumSHA256 = smithy_client_1.expectString(output["ChecksumSHA256"]);
12018
+ }
12019
+ return contents;
12020
+ };
12149
12021
  const deserializeAws_restXmlObjectVersion = (output, context) => {
12150
12022
  const contents = {
12151
12023
  ETag: undefined,
12024
+ ChecksumAlgorithm: undefined,
12152
12025
  Size: undefined,
12153
12026
  StorageClass: undefined,
12154
12027
  Key: undefined,
@@ -12160,6 +12033,12 @@ const deserializeAws_restXmlObjectVersion = (output, context) => {
12160
12033
  if (output["ETag"] !== undefined) {
12161
12034
  contents.ETag = smithy_client_1.expectString(output["ETag"]);
12162
12035
  }
12036
+ if (output.ChecksumAlgorithm === "") {
12037
+ contents.ChecksumAlgorithm = [];
12038
+ }
12039
+ if (output["ChecksumAlgorithm"] !== undefined) {
12040
+ contents.ChecksumAlgorithm = deserializeAws_restXmlChecksumAlgorithmList(smithy_client_1.getArrayIfSingleItem(output["ChecksumAlgorithm"]), context);
12041
+ }
12163
12042
  if (output["Size"] !== undefined) {
12164
12043
  contents.Size = smithy_client_1.strictParseLong(output["Size"]);
12165
12044
  }
@@ -12243,6 +12122,10 @@ const deserializeAws_restXmlPart = (output, context) => {
12243
12122
  LastModified: undefined,
12244
12123
  ETag: undefined,
12245
12124
  Size: undefined,
12125
+ ChecksumCRC32: undefined,
12126
+ ChecksumCRC32C: undefined,
12127
+ ChecksumSHA1: undefined,
12128
+ ChecksumSHA256: undefined,
12246
12129
  };
12247
12130
  if (output["PartNumber"] !== undefined) {
12248
12131
  contents.PartNumber = smithy_client_1.strictParseInt32(output["PartNumber"]);
@@ -12256,6 +12139,18 @@ const deserializeAws_restXmlPart = (output, context) => {
12256
12139
  if (output["Size"] !== undefined) {
12257
12140
  contents.Size = smithy_client_1.strictParseLong(output["Size"]);
12258
12141
  }
12142
+ if (output["ChecksumCRC32"] !== undefined) {
12143
+ contents.ChecksumCRC32 = smithy_client_1.expectString(output["ChecksumCRC32"]);
12144
+ }
12145
+ if (output["ChecksumCRC32C"] !== undefined) {
12146
+ contents.ChecksumCRC32C = smithy_client_1.expectString(output["ChecksumCRC32C"]);
12147
+ }
12148
+ if (output["ChecksumSHA1"] !== undefined) {
12149
+ contents.ChecksumSHA1 = smithy_client_1.expectString(output["ChecksumSHA1"]);
12150
+ }
12151
+ if (output["ChecksumSHA256"] !== undefined) {
12152
+ contents.ChecksumSHA256 = smithy_client_1.expectString(output["ChecksumSHA256"]);
12153
+ }
12259
12154
  return contents;
12260
12155
  };
12261
12156
  const deserializeAws_restXmlParts = (output, context) => {
@@ -12268,6 +12163,16 @@ const deserializeAws_restXmlParts = (output, context) => {
12268
12163
  return deserializeAws_restXmlPart(entry, context);
12269
12164
  });
12270
12165
  };
12166
+ const deserializeAws_restXmlPartsList = (output, context) => {
12167
+ return (output || [])
12168
+ .filter((e) => e != null)
12169
+ .map((entry) => {
12170
+ if (entry === null) {
12171
+ return null;
12172
+ }
12173
+ return deserializeAws_restXmlObjectPart(entry, context);
12174
+ });
12175
+ };
12271
12176
  const deserializeAws_restXmlPolicyStatus = (output, context) => {
12272
12177
  const contents = {
12273
12178
  IsPublic: undefined,