@aws-amplify/storage 5.6.4-graphql-api-functional-options.1 → 5.6.4-unstable.28bc873.6

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 (252) hide show
  1. package/lib/AwsClients/S3/abortMultipartUpload.d.ts +21 -0
  2. package/lib/AwsClients/S3/abortMultipartUpload.js +85 -0
  3. package/lib/AwsClients/S3/base.d.ts +54 -0
  4. package/lib/AwsClients/S3/base.js +75 -0
  5. package/lib/AwsClients/S3/completeMultipartUpload.d.ts +20 -0
  6. package/lib/AwsClients/S3/completeMultipartUpload.js +162 -0
  7. package/lib/AwsClients/S3/copyObject.d.ts +24 -0
  8. package/lib/AwsClients/S3/copyObject.js +98 -0
  9. package/lib/AwsClients/S3/createMultipartUpload.d.ts +21 -0
  10. package/lib/AwsClients/S3/createMultipartUpload.js +95 -0
  11. package/lib/AwsClients/S3/deleteObject.d.ts +20 -0
  12. package/lib/AwsClients/S3/deleteObject.js +86 -0
  13. package/lib/AwsClients/S3/getObject.d.ts +27 -0
  14. package/lib/AwsClients/S3/getObject.js +216 -0
  15. package/lib/AwsClients/S3/headObject.d.ts +20 -0
  16. package/lib/AwsClients/S3/headObject.js +96 -0
  17. package/lib/AwsClients/S3/index.d.ts +13 -0
  18. package/lib/AwsClients/S3/index.js +30 -0
  19. package/lib/AwsClients/S3/index.native.d.ts +14 -0
  20. package/lib/AwsClients/S3/index.native.js +31 -0
  21. package/lib/AwsClients/S3/listObjectsV2.d.ts +20 -0
  22. package/lib/AwsClients/S3/listObjectsV2.js +146 -0
  23. package/lib/AwsClients/S3/listParts.d.ts +20 -0
  24. package/lib/AwsClients/S3/listParts.js +110 -0
  25. package/lib/AwsClients/S3/putObject.d.ts +23 -0
  26. package/lib/AwsClients/S3/putObject.js +93 -0
  27. package/lib/AwsClients/S3/runtime/base64/index.browser.d.ts +2 -0
  28. package/lib/AwsClients/S3/runtime/base64/index.browser.js +20 -0
  29. package/lib/AwsClients/S3/runtime/base64/index.native.d.ts +2 -0
  30. package/lib/AwsClients/S3/runtime/base64/index.native.js +17 -0
  31. package/lib/AwsClients/S3/runtime/constants.d.ts +9 -0
  32. package/lib/AwsClients/S3/runtime/constants.js +14 -0
  33. package/lib/AwsClients/S3/runtime/contentSha256middleware.d.ts +9 -0
  34. package/lib/AwsClients/S3/runtime/contentSha256middleware.js +70 -0
  35. package/lib/AwsClients/S3/runtime/index.browser.d.ts +5 -0
  36. package/lib/AwsClients/S3/runtime/index.browser.js +20 -0
  37. package/lib/AwsClients/S3/runtime/index.d.ts +5 -0
  38. package/lib/AwsClients/S3/runtime/index.js +21 -0
  39. package/lib/AwsClients/S3/runtime/index.native.d.ts +5 -0
  40. package/lib/AwsClients/S3/runtime/index.native.js +20 -0
  41. package/lib/AwsClients/S3/runtime/s3TransferHandler/fetch.d.ts +8 -0
  42. package/lib/AwsClients/S3/runtime/s3TransferHandler/fetch.js +15 -0
  43. package/lib/AwsClients/S3/runtime/s3TransferHandler/xhr.d.ts +8 -0
  44. package/lib/AwsClients/S3/runtime/s3TransferHandler/xhr.js +21 -0
  45. package/lib/AwsClients/S3/runtime/xhrTransferHandler.d.ts +22 -0
  46. package/lib/AwsClients/S3/runtime/xhrTransferHandler.js +201 -0
  47. package/lib/AwsClients/S3/runtime/xmlParser/dom.d.ts +8 -0
  48. package/lib/AwsClients/S3/runtime/xmlParser/dom.js +92 -0
  49. package/lib/AwsClients/S3/runtime/xmlParser/pureJs.d.ts +10 -0
  50. package/lib/AwsClients/S3/runtime/xmlParser/pureJs.js +57 -0
  51. package/lib/AwsClients/S3/types.d.ts +2857 -0
  52. package/lib/AwsClients/S3/types.js +4 -0
  53. package/lib/AwsClients/S3/uploadPart.d.ts +20 -0
  54. package/lib/AwsClients/S3/uploadPart.js +96 -0
  55. package/lib/AwsClients/S3/utils/deserializeHelpers.d.ts +78 -0
  56. package/lib/AwsClients/S3/utils/deserializeHelpers.js +153 -0
  57. package/lib/AwsClients/S3/utils/index.d.ts +5 -0
  58. package/lib/AwsClients/S3/utils/index.js +30 -0
  59. package/lib/AwsClients/S3/utils/parsePayload.d.ts +3 -0
  60. package/lib/AwsClients/S3/utils/parsePayload.js +96 -0
  61. package/lib/AwsClients/S3/utils/serializeHelpers.d.ts +42 -0
  62. package/lib/AwsClients/S3/utils/serializeHelpers.js +183 -0
  63. package/lib/Storage.d.ts +5 -5
  64. package/lib/Storage.js +60 -31
  65. package/lib/common/S3ClientUtils.d.ts +24 -15
  66. package/lib/common/S3ClientUtils.js +83 -95
  67. package/lib/common/StorageConstants.d.ts +0 -1
  68. package/lib/common/StorageConstants.js +3 -2
  69. package/lib/common/StorageErrorStrings.js +3 -1
  70. package/lib/common/StorageUtils.js +12 -6
  71. package/lib/index.js +19 -4
  72. package/lib/providers/AWSS3Provider.d.ts +4 -8
  73. package/lib/providers/AWSS3Provider.js +210 -139
  74. package/lib/providers/AWSS3ProviderManagedUpload.d.ts +7 -7
  75. package/lib/providers/AWSS3ProviderManagedUpload.js +184 -98
  76. package/lib/providers/AWSS3UploadTask.d.ts +8 -8
  77. package/lib/providers/AWSS3UploadTask.js +226 -129
  78. package/lib/providers/index.js +4 -2
  79. package/lib/tsconfig.tsbuildinfo +1 -0
  80. package/lib/types/AWSS3Provider.d.ts +62 -62
  81. package/lib/types/AWSS3Provider.js +0 -1
  82. package/lib/types/Provider.d.ts +1 -1
  83. package/lib/types/Provider.js +2 -1
  84. package/lib/types/Storage.d.ts +23 -23
  85. package/lib/types/Storage.js +0 -1
  86. package/lib/types/index.js +17 -1
  87. package/lib-esm/AwsClients/S3/abortMultipartUpload.d.ts +21 -0
  88. package/lib-esm/AwsClients/S3/abortMultipartUpload.js +82 -0
  89. package/lib-esm/AwsClients/S3/base.d.ts +54 -0
  90. package/lib-esm/AwsClients/S3/base.js +71 -0
  91. package/lib-esm/AwsClients/S3/completeMultipartUpload.d.ts +20 -0
  92. package/lib-esm/AwsClients/S3/completeMultipartUpload.js +159 -0
  93. package/lib-esm/AwsClients/S3/copyObject.d.ts +24 -0
  94. package/lib-esm/AwsClients/S3/copyObject.js +95 -0
  95. package/lib-esm/AwsClients/S3/createMultipartUpload.d.ts +21 -0
  96. package/lib-esm/AwsClients/S3/createMultipartUpload.js +92 -0
  97. package/lib-esm/AwsClients/S3/deleteObject.d.ts +20 -0
  98. package/lib-esm/AwsClients/S3/deleteObject.js +83 -0
  99. package/lib-esm/AwsClients/S3/getObject.d.ts +27 -0
  100. package/lib-esm/AwsClients/S3/getObject.js +212 -0
  101. package/lib-esm/AwsClients/S3/headObject.d.ts +20 -0
  102. package/lib-esm/AwsClients/S3/headObject.js +93 -0
  103. package/lib-esm/AwsClients/S3/index.d.ts +13 -0
  104. package/lib-esm/AwsClients/S3/index.js +14 -0
  105. package/lib-esm/AwsClients/S3/index.native.d.ts +14 -0
  106. package/lib-esm/AwsClients/S3/index.native.js +15 -0
  107. package/lib-esm/AwsClients/S3/listObjectsV2.d.ts +20 -0
  108. package/lib-esm/AwsClients/S3/listObjectsV2.js +143 -0
  109. package/lib-esm/AwsClients/S3/listParts.d.ts +20 -0
  110. package/lib-esm/AwsClients/S3/listParts.js +107 -0
  111. package/lib-esm/AwsClients/S3/putObject.d.ts +23 -0
  112. package/lib-esm/AwsClients/S3/putObject.js +90 -0
  113. package/lib-esm/AwsClients/S3/runtime/base64/index.browser.d.ts +2 -0
  114. package/lib-esm/AwsClients/S3/runtime/base64/index.browser.js +15 -0
  115. package/lib-esm/AwsClients/S3/runtime/base64/index.native.d.ts +2 -0
  116. package/lib-esm/AwsClients/S3/runtime/base64/index.native.js +12 -0
  117. package/lib-esm/AwsClients/S3/runtime/constants.d.ts +9 -0
  118. package/lib-esm/AwsClients/S3/runtime/constants.js +11 -0
  119. package/lib-esm/AwsClients/S3/runtime/contentSha256middleware.d.ts +9 -0
  120. package/lib-esm/AwsClients/S3/runtime/contentSha256middleware.js +66 -0
  121. package/lib-esm/AwsClients/S3/runtime/index.browser.d.ts +5 -0
  122. package/lib-esm/AwsClients/S3/runtime/index.browser.js +8 -0
  123. package/lib-esm/AwsClients/S3/runtime/index.d.ts +5 -0
  124. package/lib-esm/AwsClients/S3/runtime/index.js +9 -0
  125. package/lib-esm/AwsClients/S3/runtime/index.native.d.ts +5 -0
  126. package/lib-esm/AwsClients/S3/runtime/index.native.js +8 -0
  127. package/lib-esm/AwsClients/S3/runtime/s3TransferHandler/fetch.d.ts +8 -0
  128. package/lib-esm/AwsClients/S3/runtime/s3TransferHandler/fetch.js +12 -0
  129. package/lib-esm/AwsClients/S3/runtime/s3TransferHandler/xhr.d.ts +8 -0
  130. package/lib-esm/AwsClients/S3/runtime/s3TransferHandler/xhr.js +18 -0
  131. package/lib-esm/AwsClients/S3/runtime/xhrTransferHandler.d.ts +22 -0
  132. package/lib-esm/AwsClients/S3/runtime/xhrTransferHandler.js +196 -0
  133. package/lib-esm/AwsClients/S3/runtime/xmlParser/dom.d.ts +8 -0
  134. package/lib-esm/AwsClients/S3/runtime/xmlParser/dom.js +89 -0
  135. package/lib-esm/AwsClients/S3/runtime/xmlParser/pureJs.d.ts +10 -0
  136. package/lib-esm/AwsClients/S3/runtime/xmlParser/pureJs.js +54 -0
  137. package/lib-esm/AwsClients/S3/types.d.ts +2857 -0
  138. package/lib-esm/AwsClients/S3/types.js +3 -0
  139. package/lib-esm/AwsClients/S3/uploadPart.d.ts +20 -0
  140. package/lib-esm/AwsClients/S3/uploadPart.js +93 -0
  141. package/lib-esm/AwsClients/S3/utils/deserializeHelpers.d.ts +78 -0
  142. package/lib-esm/AwsClients/S3/utils/deserializeHelpers.js +144 -0
  143. package/lib-esm/AwsClients/S3/utils/index.d.ts +5 -0
  144. package/lib-esm/AwsClients/S3/utils/index.js +7 -0
  145. package/lib-esm/AwsClients/S3/utils/parsePayload.d.ts +3 -0
  146. package/lib-esm/AwsClients/S3/utils/parsePayload.js +91 -0
  147. package/lib-esm/AwsClients/S3/utils/serializeHelpers.d.ts +42 -0
  148. package/lib-esm/AwsClients/S3/utils/serializeHelpers.js +176 -0
  149. package/lib-esm/Storage.d.ts +5 -5
  150. package/lib-esm/Storage.js +53 -25
  151. package/lib-esm/common/S3ClientUtils.d.ts +24 -15
  152. package/lib-esm/common/S3ClientUtils.js +76 -93
  153. package/lib-esm/common/StorageConstants.d.ts +0 -1
  154. package/lib-esm/common/StorageConstants.js +2 -2
  155. package/lib-esm/common/StorageErrorStrings.js +2 -1
  156. package/lib-esm/common/StorageUtils.js +2 -1
  157. package/lib-esm/index.js +1 -1
  158. package/lib-esm/providers/AWSS3Provider.d.ts +4 -8
  159. package/lib-esm/providers/AWSS3Provider.js +162 -115
  160. package/lib-esm/providers/AWSS3ProviderManagedUpload.d.ts +7 -7
  161. package/lib-esm/providers/AWSS3ProviderManagedUpload.js +172 -87
  162. package/lib-esm/providers/AWSS3UploadTask.d.ts +8 -8
  163. package/lib-esm/providers/AWSS3UploadTask.js +202 -106
  164. package/lib-esm/providers/index.js +2 -1
  165. package/lib-esm/tsconfig.tsbuildinfo +1 -0
  166. package/lib-esm/types/AWSS3Provider.d.ts +62 -62
  167. package/lib-esm/types/AWSS3Provider.js +1 -1
  168. package/lib-esm/types/Provider.d.ts +1 -1
  169. package/lib-esm/types/Provider.js +3 -1
  170. package/lib-esm/types/Storage.d.ts +23 -23
  171. package/lib-esm/types/Storage.js +1 -1
  172. package/lib-esm/types/index.js +3 -1
  173. package/package.json +21 -26
  174. package/src/AwsClients/S3/abortMultipartUpload.ts +62 -0
  175. package/src/AwsClients/S3/base.ts +109 -0
  176. package/src/AwsClients/S3/completeMultipartUpload.ts +154 -0
  177. package/src/AwsClients/S3/copyObject.ts +90 -0
  178. package/src/AwsClients/S3/createMultipartUpload.ts +75 -0
  179. package/src/AwsClients/S3/deleteObject.ts +69 -0
  180. package/src/AwsClients/S3/getObject.ts +173 -0
  181. package/src/AwsClients/S3/headObject.ts +91 -0
  182. package/src/AwsClients/S3/index.native.ts +42 -0
  183. package/src/AwsClients/S3/index.ts +41 -0
  184. package/src/AwsClients/S3/listObjectsV2.ts +130 -0
  185. package/src/AwsClients/S3/listParts.ts +97 -0
  186. package/src/AwsClients/S3/putObject.ts +94 -0
  187. package/src/AwsClients/S3/runtime/base64/index.browser.ts +21 -0
  188. package/src/AwsClients/S3/runtime/base64/index.native.ts +16 -0
  189. package/src/AwsClients/S3/runtime/constants.ts +16 -0
  190. package/src/AwsClients/S3/runtime/contentSha256middleware.ts +29 -0
  191. package/src/AwsClients/S3/runtime/index.browser.ts +14 -0
  192. package/src/AwsClients/S3/runtime/index.native.ts +14 -0
  193. package/src/AwsClients/S3/runtime/index.ts +15 -0
  194. package/src/AwsClients/S3/runtime/s3TransferHandler/fetch.ts +23 -0
  195. package/src/AwsClients/S3/runtime/s3TransferHandler/xhr.ts +35 -0
  196. package/src/AwsClients/S3/runtime/xhrTransferHandler.ts +254 -0
  197. package/src/AwsClients/S3/runtime/xmlParser/dom.ts +92 -0
  198. package/src/AwsClients/S3/runtime/xmlParser/pureJs.ts +55 -0
  199. package/src/AwsClients/S3/types.ts +2877 -0
  200. package/src/AwsClients/S3/uploadPart.ts +83 -0
  201. package/src/AwsClients/S3/utils/deserializeHelpers.ts +136 -0
  202. package/src/AwsClients/S3/utils/index.ts +27 -0
  203. package/src/AwsClients/S3/utils/parsePayload.ts +45 -0
  204. package/src/AwsClients/S3/utils/serializeHelpers.ts +112 -0
  205. package/src/Storage.ts +30 -27
  206. package/src/common/S3ClientUtils.ts +57 -113
  207. package/src/common/StorageConstants.ts +2 -2
  208. package/src/common/StorageErrorStrings.ts +2 -0
  209. package/src/common/StorageUtils.ts +2 -0
  210. package/src/providers/AWSS3Provider.ts +80 -100
  211. package/src/providers/AWSS3ProviderManagedUpload.ts +56 -63
  212. package/src/providers/AWSS3UploadTask.ts +86 -87
  213. package/src/providers/index.ts +2 -0
  214. package/src/types/AWSS3Provider.ts +55 -49
  215. package/src/types/Provider.ts +7 -2
  216. package/lib/.tsbuildinfo +0 -3
  217. package/lib/Storage.js.map +0 -1
  218. package/lib/common/S3ClientUtils.js.map +0 -1
  219. package/lib/common/StorageConstants.js.map +0 -1
  220. package/lib/common/StorageErrorStrings.js.map +0 -1
  221. package/lib/common/StorageUtils.js.map +0 -1
  222. package/lib/index.js.map +0 -1
  223. package/lib/providers/AWSS3Provider.js.map +0 -1
  224. package/lib/providers/AWSS3ProviderManagedUpload.js.map +0 -1
  225. package/lib/providers/AWSS3UploadTask.js.map +0 -1
  226. package/lib/providers/axios-http-handler.d.ts +0 -40
  227. package/lib/providers/axios-http-handler.js +0 -193
  228. package/lib/providers/axios-http-handler.js.map +0 -1
  229. package/lib/providers/index.js.map +0 -1
  230. package/lib/types/AWSS3Provider.js.map +0 -1
  231. package/lib/types/Provider.js.map +0 -1
  232. package/lib/types/Storage.js.map +0 -1
  233. package/lib/types/index.js.map +0 -1
  234. package/lib-esm/.tsbuildinfo +0 -3
  235. package/lib-esm/Storage.js.map +0 -1
  236. package/lib-esm/common/S3ClientUtils.js.map +0 -1
  237. package/lib-esm/common/StorageConstants.js.map +0 -1
  238. package/lib-esm/common/StorageErrorStrings.js.map +0 -1
  239. package/lib-esm/common/StorageUtils.js.map +0 -1
  240. package/lib-esm/index.js.map +0 -1
  241. package/lib-esm/providers/AWSS3Provider.js.map +0 -1
  242. package/lib-esm/providers/AWSS3ProviderManagedUpload.js.map +0 -1
  243. package/lib-esm/providers/AWSS3UploadTask.js.map +0 -1
  244. package/lib-esm/providers/axios-http-handler.d.ts +0 -40
  245. package/lib-esm/providers/axios-http-handler.js +0 -191
  246. package/lib-esm/providers/axios-http-handler.js.map +0 -1
  247. package/lib-esm/providers/index.js.map +0 -1
  248. package/lib-esm/types/AWSS3Provider.js.map +0 -1
  249. package/lib-esm/types/Provider.js.map +0 -1
  250. package/lib-esm/types/Storage.js.map +0 -1
  251. package/lib-esm/types/index.js.map +0 -1
  252. package/src/providers/axios-http-handler.ts +0 -242
@@ -0,0 +1,2877 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * Generated by scripts/dts-bundler/README.md
6
+ * Manual change contained:
7
+ * * {@link CompatibleHttpResponse}: Add compatible interface for response payload to harmonize AWS SDK and custom clients.
8
+ * * {@link GetObjectCommandOutput.Body}: Update the type to `CompatibleHttpResponse`
9
+ * * {@link PutObjectRequest.Body}: Remove Node.js specific `Readable` type
10
+ * * {@link UploadPartRequest.Body}: Remove Node.js specific `Readable` type
11
+ */
12
+ import { MetadataBearer as __MetadataBearer } from '@aws-sdk/types';
13
+ import {
14
+ HttpResponse,
15
+ ResponseBodyMixin,
16
+ } from '@aws-amplify/core/internals/aws-client-utils';
17
+
18
+ /**
19
+ * Compatible type for S3 streaming body exposed via Amplify public interfaces, like {@link GetObjectCommandOutput}
20
+ * exposed via download API. It's also compatible with the custom transfer handler interface {@link HttpResponse.body}.
21
+ *
22
+ * @internal
23
+ */
24
+ export type CompatibleHttpResponse = Omit<HttpResponse, 'body'> & {
25
+ body: ResponseBodyMixin & Blob;
26
+ };
27
+ declare const ArchiveStatus: {
28
+ readonly ARCHIVE_ACCESS: 'ARCHIVE_ACCESS';
29
+ readonly DEEP_ARCHIVE_ACCESS: 'DEEP_ARCHIVE_ACCESS';
30
+ };
31
+ declare const ChecksumAlgorithm: {
32
+ readonly CRC32: 'CRC32';
33
+ readonly CRC32C: 'CRC32C';
34
+ readonly SHA1: 'SHA1';
35
+ readonly SHA256: 'SHA256';
36
+ };
37
+ declare const ChecksumMode: {
38
+ readonly ENABLED: 'ENABLED';
39
+ };
40
+ declare const EncodingType: {
41
+ readonly url: 'url';
42
+ };
43
+ declare const MetadataDirective: {
44
+ readonly COPY: 'COPY';
45
+ readonly REPLACE: 'REPLACE';
46
+ };
47
+ declare const ObjectCannedACL: {
48
+ readonly authenticated_read: 'authenticated-read';
49
+ readonly aws_exec_read: 'aws-exec-read';
50
+ readonly bucket_owner_full_control: 'bucket-owner-full-control';
51
+ readonly bucket_owner_read: 'bucket-owner-read';
52
+ readonly private: 'private';
53
+ readonly public_read: 'public-read';
54
+ readonly public_read_write: 'public-read-write';
55
+ };
56
+ declare const ObjectLockLegalHoldStatus: {
57
+ readonly OFF: 'OFF';
58
+ readonly ON: 'ON';
59
+ };
60
+ declare const ObjectLockMode: {
61
+ readonly COMPLIANCE: 'COMPLIANCE';
62
+ readonly GOVERNANCE: 'GOVERNANCE';
63
+ };
64
+ declare const ObjectStorageClass: {
65
+ readonly DEEP_ARCHIVE: 'DEEP_ARCHIVE';
66
+ readonly GLACIER: 'GLACIER';
67
+ readonly GLACIER_IR: 'GLACIER_IR';
68
+ readonly INTELLIGENT_TIERING: 'INTELLIGENT_TIERING';
69
+ readonly ONEZONE_IA: 'ONEZONE_IA';
70
+ readonly OUTPOSTS: 'OUTPOSTS';
71
+ readonly REDUCED_REDUNDANCY: 'REDUCED_REDUNDANCY';
72
+ readonly SNOW: 'SNOW';
73
+ readonly STANDARD: 'STANDARD';
74
+ readonly STANDARD_IA: 'STANDARD_IA';
75
+ };
76
+ declare const ReplicationStatus: {
77
+ readonly COMPLETE: 'COMPLETE';
78
+ readonly FAILED: 'FAILED';
79
+ readonly PENDING: 'PENDING';
80
+ readonly REPLICA: 'REPLICA';
81
+ };
82
+ declare const RequestCharged: {
83
+ readonly requester: 'requester';
84
+ };
85
+ declare const RequestPayer: {
86
+ readonly requester: 'requester';
87
+ };
88
+ declare const ServerSideEncryption: {
89
+ readonly AES256: 'AES256';
90
+ readonly aws_kms: 'aws:kms';
91
+ };
92
+ declare const StorageClass: {
93
+ readonly DEEP_ARCHIVE: 'DEEP_ARCHIVE';
94
+ readonly GLACIER: 'GLACIER';
95
+ readonly GLACIER_IR: 'GLACIER_IR';
96
+ readonly INTELLIGENT_TIERING: 'INTELLIGENT_TIERING';
97
+ readonly ONEZONE_IA: 'ONEZONE_IA';
98
+ readonly OUTPOSTS: 'OUTPOSTS';
99
+ readonly REDUCED_REDUNDANCY: 'REDUCED_REDUNDANCY';
100
+ readonly SNOW: 'SNOW';
101
+ readonly STANDARD: 'STANDARD';
102
+ readonly STANDARD_IA: 'STANDARD_IA';
103
+ };
104
+ declare const TaggingDirective: {
105
+ readonly COPY: 'COPY';
106
+ readonly REPLACE: 'REPLACE';
107
+ };
108
+ /**
109
+ * @public
110
+ *
111
+ * The input for {@link AbortMultipartUploadCommand}.
112
+ */
113
+ export interface AbortMultipartUploadCommandInput
114
+ extends AbortMultipartUploadRequest {}
115
+ /**
116
+ * @public
117
+ *
118
+ * The output of {@link AbortMultipartUploadCommand}.
119
+ */
120
+ export interface AbortMultipartUploadCommandOutput
121
+ extends AbortMultipartUploadOutput,
122
+ __MetadataBearer {}
123
+ /**
124
+ * @public
125
+ */
126
+ export interface AbortMultipartUploadOutput {
127
+ /**
128
+ * <p>If present, indicates that the requester was successfully charged for the
129
+ * request.</p>
130
+ */
131
+ RequestCharged?: RequestCharged | string;
132
+ }
133
+ /**
134
+ * @public
135
+ */
136
+ export interface AbortMultipartUploadRequest {
137
+ /**
138
+ * <p>The bucket name to which the upload was taking place. </p>
139
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
140
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
141
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
142
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
143
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
144
+ */
145
+ Bucket: string | undefined;
146
+ /**
147
+ * <p>Key of the object for which the multipart upload was initiated.</p>
148
+ */
149
+ Key: string | undefined;
150
+ /**
151
+ * <p>Upload ID that identifies the multipart upload.</p>
152
+ */
153
+ UploadId: string | undefined;
154
+ /**
155
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
156
+ * owners need not specify this parameter in their requests. For information about downloading
157
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
158
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
159
+ */
160
+ RequestPayer?: RequestPayer | string;
161
+ /**
162
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
163
+ */
164
+ ExpectedBucketOwner?: string;
165
+ }
166
+ /**
167
+ * @public
168
+ * <p>Container for all (if there are any) keys between Prefix and the next occurrence of the
169
+ * string specified by a delimiter. CommonPrefixes lists keys that act like subdirectories in
170
+ * the directory specified by Prefix. For example, if the prefix is notes/ and the delimiter
171
+ * is a slash (/) as in notes/summer/july, the common prefix is notes/summer/. </p>
172
+ */
173
+ export interface CommonPrefix {
174
+ /**
175
+ * <p>Container for the specified common prefix.</p>
176
+ */
177
+ Prefix?: string;
178
+ }
179
+ /**
180
+ * @public
181
+ *
182
+ * The input for {@link CompleteMultipartUploadCommand}.
183
+ */
184
+ export interface CompleteMultipartUploadCommandInput
185
+ extends CompleteMultipartUploadRequest {}
186
+ /**
187
+ * @public
188
+ *
189
+ * The output of {@link CompleteMultipartUploadCommand}.
190
+ */
191
+ export interface CompleteMultipartUploadCommandOutput
192
+ extends CompleteMultipartUploadOutput,
193
+ __MetadataBearer {}
194
+ /**
195
+ * @public
196
+ */
197
+ export interface CompleteMultipartUploadOutput {
198
+ /**
199
+ * <p>The URI that identifies the newly created object.</p>
200
+ */
201
+ Location?: string;
202
+ /**
203
+ * <p>The name of the bucket that contains the newly created object. Does not return the access point
204
+ * ARN or access point alias if used.</p>
205
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
206
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
207
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
208
+ */
209
+ Bucket?: string;
210
+ /**
211
+ * <p>The object key of the newly created object.</p>
212
+ */
213
+ Key?: string;
214
+ /**
215
+ * <p>If the object expiration is configured, this will contain the expiration date
216
+ * (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of
217
+ * <code>rule-id</code> is URL-encoded.</p>
218
+ */
219
+ Expiration?: string;
220
+ /**
221
+ * <p>Entity tag that identifies the newly created object's data. Objects with different
222
+ * object data will have different entity tags. The entity tag is an opaque string. The entity
223
+ * tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5
224
+ * digest of the object data, it will contain one or more nonhexadecimal characters and/or
225
+ * will consist of less than 32 or more than 32 hexadecimal digits. For more information about
226
+ * how the entity tag is calculated, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object
227
+ * integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
228
+ */
229
+ ETag?: string;
230
+ /**
231
+ * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded
232
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
233
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
234
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
235
+ */
236
+ ChecksumCRC32?: string;
237
+ /**
238
+ * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded
239
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
240
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
241
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
242
+ */
243
+ ChecksumCRC32C?: string;
244
+ /**
245
+ * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded
246
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
247
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
248
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
249
+ */
250
+ ChecksumSHA1?: string;
251
+ /**
252
+ * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded
253
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
254
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
255
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
256
+ */
257
+ ChecksumSHA256?: string;
258
+ /**
259
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
260
+ * AES256, <code>aws:kms</code>).</p>
261
+ */
262
+ ServerSideEncryption?: ServerSideEncryption | string;
263
+ /**
264
+ * <p>Version ID of the newly created object, in case the bucket has versioning turned
265
+ * on.</p>
266
+ */
267
+ VersionId?: string;
268
+ /**
269
+ * <p>If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric
270
+ * encryption customer managed key that was used for the object.</p>
271
+ */
272
+ SSEKMSKeyId?: string;
273
+ /**
274
+ * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption
275
+ * with Amazon Web Services KMS (SSE-KMS).</p>
276
+ */
277
+ BucketKeyEnabled?: boolean;
278
+ /**
279
+ * <p>If present, indicates that the requester was successfully charged for the
280
+ * request.</p>
281
+ */
282
+ RequestCharged?: RequestCharged | string;
283
+ }
284
+ /**
285
+ * @public
286
+ */
287
+ export interface CompleteMultipartUploadRequest {
288
+ /**
289
+ * <p>Name of the bucket to which the multipart upload was initiated.</p>
290
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
291
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
292
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
293
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
294
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
295
+ */
296
+ Bucket: string | undefined;
297
+ /**
298
+ * <p>Object key for which the multipart upload was initiated.</p>
299
+ */
300
+ Key: string | undefined;
301
+ /**
302
+ * <p>The container for the multipart upload request information.</p>
303
+ */
304
+ MultipartUpload?: CompletedMultipartUpload;
305
+ /**
306
+ * <p>ID for the initiated multipart upload.</p>
307
+ */
308
+ UploadId: string | undefined;
309
+ /**
310
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
311
+ * This header specifies the base64-encoded, 32-bit CRC32 checksum of the object. For more information, see
312
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
313
+ * <i>Amazon S3 User Guide</i>.</p>
314
+ */
315
+ ChecksumCRC32?: string;
316
+ /**
317
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
318
+ * This header specifies the base64-encoded, 32-bit CRC32C checksum of the object. For more information, see
319
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
320
+ * <i>Amazon S3 User Guide</i>.</p>
321
+ */
322
+ ChecksumCRC32C?: string;
323
+ /**
324
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
325
+ * This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see
326
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
327
+ * <i>Amazon S3 User Guide</i>.</p>
328
+ */
329
+ ChecksumSHA1?: string;
330
+ /**
331
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
332
+ * This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see
333
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
334
+ * <i>Amazon S3 User Guide</i>.</p>
335
+ */
336
+ ChecksumSHA256?: string;
337
+ /**
338
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
339
+ * owners need not specify this parameter in their requests. For information about downloading
340
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
341
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
342
+ */
343
+ RequestPayer?: RequestPayer | string;
344
+ /**
345
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
346
+ */
347
+ ExpectedBucketOwner?: string;
348
+ /**
349
+ * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created
350
+ * using a checksum algorithm. For more information,
351
+ * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the
352
+ * <i>Amazon S3 User Guide</i>.</p>
353
+ */
354
+ SSECustomerAlgorithm?: string;
355
+ /**
356
+ * <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm.
357
+ * For more information, see
358
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the
359
+ * <i>Amazon S3 User Guide</i>.</p>
360
+ */
361
+ SSECustomerKey?: string;
362
+ /**
363
+ * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum
364
+ * algorithm. For more information,
365
+ * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the
366
+ * <i>Amazon S3 User Guide</i>.</p>
367
+ */
368
+ SSECustomerKeyMD5?: string;
369
+ }
370
+ /**
371
+ * @public
372
+ * <p>The container for the completed multipart upload details.</p>
373
+ */
374
+ export interface CompletedMultipartUpload {
375
+ /**
376
+ * <p>Array of CompletedPart data types.</p>
377
+ * <p>If you do not supply a valid <code>Part</code> with your request, the service sends back
378
+ * an HTTP 400 response.</p>
379
+ */
380
+ Parts?: CompletedPart[];
381
+ }
382
+ /**
383
+ * @public
384
+ * <p>Details of the parts that were uploaded.</p>
385
+ */
386
+ export interface CompletedPart {
387
+ /**
388
+ * <p>Entity tag returned when the part was uploaded.</p>
389
+ */
390
+ ETag?: string;
391
+ /**
392
+ * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded
393
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
394
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
395
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
396
+ */
397
+ ChecksumCRC32?: string;
398
+ /**
399
+ * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded
400
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
401
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
402
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
403
+ */
404
+ ChecksumCRC32C?: string;
405
+ /**
406
+ * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded
407
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
408
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
409
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
410
+ */
411
+ ChecksumSHA1?: string;
412
+ /**
413
+ * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded
414
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
415
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
416
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
417
+ */
418
+ ChecksumSHA256?: string;
419
+ /**
420
+ * <p>Part number that identifies the part. This is a positive integer between 1 and
421
+ * 10,000.</p>
422
+ */
423
+ PartNumber?: number;
424
+ }
425
+ /**
426
+ * @public
427
+ *
428
+ * The input for {@link CopyObjectCommand}.
429
+ */
430
+ export interface CopyObjectCommandInput extends CopyObjectRequest {}
431
+ /**
432
+ * @public
433
+ *
434
+ * The output of {@link CopyObjectCommand}.
435
+ */
436
+ export interface CopyObjectCommandOutput
437
+ extends CopyObjectOutput,
438
+ __MetadataBearer {}
439
+ /**
440
+ * @public
441
+ */
442
+ export interface CopyObjectOutput {
443
+ /**
444
+ * <p>Container for all response elements.</p>
445
+ */
446
+ CopyObjectResult?: CopyObjectResult;
447
+ /**
448
+ * <p>If the object expiration is configured, the response includes this header.</p>
449
+ */
450
+ Expiration?: string;
451
+ /**
452
+ * <p>Version of the copied object in the destination bucket.</p>
453
+ */
454
+ CopySourceVersionId?: string;
455
+ /**
456
+ * <p>Version ID of the newly created copy.</p>
457
+ */
458
+ VersionId?: string;
459
+ /**
460
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
461
+ * AES256, <code>aws:kms</code>).</p>
462
+ */
463
+ ServerSideEncryption?: ServerSideEncryption | string;
464
+ /**
465
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
466
+ * response will include this header confirming the encryption algorithm used.</p>
467
+ */
468
+ SSECustomerAlgorithm?: string;
469
+ /**
470
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
471
+ * response will include this header to provide round-trip message integrity verification of
472
+ * the customer-provided encryption key.</p>
473
+ */
474
+ SSECustomerKeyMD5?: string;
475
+ /**
476
+ * <p>If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric
477
+ * encryption customer managed key that was used for the object.</p>
478
+ */
479
+ SSEKMSKeyId?: string;
480
+ /**
481
+ * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The
482
+ * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption
483
+ * context key-value pairs.</p>
484
+ */
485
+ SSEKMSEncryptionContext?: string;
486
+ /**
487
+ * <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption
488
+ * with Amazon Web Services KMS (SSE-KMS).</p>
489
+ */
490
+ BucketKeyEnabled?: boolean;
491
+ /**
492
+ * <p>If present, indicates that the requester was successfully charged for the
493
+ * request.</p>
494
+ */
495
+ RequestCharged?: RequestCharged | string;
496
+ }
497
+ /**
498
+ * @public
499
+ */
500
+ export interface CopyObjectRequest {
501
+ /**
502
+ * <p>The canned ACL to apply to the object.</p>
503
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
504
+ */
505
+ ACL?: ObjectCannedACL | string;
506
+ /**
507
+ * <p>The name of the destination bucket.</p>
508
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
509
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
510
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
511
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
512
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
513
+ */
514
+ Bucket: string | undefined;
515
+ /**
516
+ * <p>Specifies caching behavior along the request/reply chain.</p>
517
+ */
518
+ CacheControl?: string;
519
+ /**
520
+ * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for the object. For more information, see
521
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
522
+ * the <i>Amazon S3 User Guide</i>.</p>
523
+ */
524
+ ChecksumAlgorithm?: ChecksumAlgorithm | string;
525
+ /**
526
+ * <p>Specifies presentational information for the object.</p>
527
+ */
528
+ ContentDisposition?: string;
529
+ /**
530
+ * <p>Specifies what content encodings have been applied to the object and thus what decoding
531
+ * mechanisms must be applied to obtain the media-type referenced by the Content-Type header
532
+ * field.</p>
533
+ */
534
+ ContentEncoding?: string;
535
+ /**
536
+ * <p>The language the content is in.</p>
537
+ */
538
+ ContentLanguage?: string;
539
+ /**
540
+ * <p>A standard MIME type describing the format of the object data.</p>
541
+ */
542
+ ContentType?: string;
543
+ /**
544
+ * <p>Specifies the source object for the copy operation. You specify the value in one of two
545
+ * formats, depending on whether you want to access the source object through an <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html">access point</a>:</p>
546
+ * <ul>
547
+ * <li>
548
+ * <p>For objects not accessed through an access point, specify the name of the source bucket
549
+ * and the key of the source object, separated by a slash (/). For example, to copy the
550
+ * object <code>reports/january.pdf</code> from the bucket
551
+ * <code>awsexamplebucket</code>, use <code>awsexamplebucket/reports/january.pdf</code>.
552
+ * The value must be URL-encoded.</p>
553
+ * </li>
554
+ * <li>
555
+ * <p>For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format <code>arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key></code>. For example, to copy the object <code>reports/january.pdf</code> through access point <code>my-access-point</code> owned by account <code>123456789012</code> in Region <code>us-west-2</code>, use the URL encoding of <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. The value must be URL encoded.</p>
556
+ * <note>
557
+ * <p>Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same Amazon Web Services Region.</p>
558
+ * </note>
559
+ * <p>Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format <code>arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key></code>. For example, to copy the object <code>reports/january.pdf</code> through outpost <code>my-outpost</code> owned by account <code>123456789012</code> in Region <code>us-west-2</code>, use the URL encoding of <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. The value must be URL-encoded. </p>
560
+ * </li>
561
+ * </ul>
562
+ * <p>To copy a specific version of an object, append <code>?versionId=<version-id></code>
563
+ * to the value (for example,
564
+ * <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>).
565
+ * If you don't specify a version ID, Amazon S3 copies the latest version of the source
566
+ * object.</p>
567
+ */
568
+ CopySource: string | undefined;
569
+ /**
570
+ * <p>Copies the object if its entity tag (ETag) matches the specified tag.</p>
571
+ */
572
+ CopySourceIfMatch?: string;
573
+ /**
574
+ * <p>Copies the object if it has been modified since the specified time.</p>
575
+ */
576
+ CopySourceIfModifiedSince?: Date;
577
+ /**
578
+ * <p>Copies the object if its entity tag (ETag) is different than the specified ETag.</p>
579
+ */
580
+ CopySourceIfNoneMatch?: string;
581
+ /**
582
+ * <p>Copies the object if it hasn't been modified since the specified time.</p>
583
+ */
584
+ CopySourceIfUnmodifiedSince?: Date;
585
+ /**
586
+ * <p>The date and time at which the object is no longer cacheable.</p>
587
+ */
588
+ Expires?: Date;
589
+ /**
590
+ * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.</p>
591
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
592
+ */
593
+ GrantFullControl?: string;
594
+ /**
595
+ * <p>Allows grantee to read the object data and its metadata.</p>
596
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
597
+ */
598
+ GrantRead?: string;
599
+ /**
600
+ * <p>Allows grantee to read the object ACL.</p>
601
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
602
+ */
603
+ GrantReadACP?: string;
604
+ /**
605
+ * <p>Allows grantee to write the ACL for the applicable object.</p>
606
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
607
+ */
608
+ GrantWriteACP?: string;
609
+ /**
610
+ * <p>The key of the destination object.</p>
611
+ */
612
+ Key: string | undefined;
613
+ /**
614
+ * <p>A map of metadata to store with the object in S3.</p>
615
+ */
616
+ Metadata?: Record<string, string>;
617
+ /**
618
+ * <p>Specifies whether the metadata is copied from the source object or replaced with
619
+ * metadata provided in the request.</p>
620
+ */
621
+ MetadataDirective?: MetadataDirective | string;
622
+ /**
623
+ * <p>Specifies whether the object tag-set are copied from the source object or replaced with
624
+ * tag-set provided in the request.</p>
625
+ */
626
+ TaggingDirective?: TaggingDirective | string;
627
+ /**
628
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
629
+ * AES256, <code>aws:kms</code>).</p>
630
+ */
631
+ ServerSideEncryption?: ServerSideEncryption | string;
632
+ /**
633
+ * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The
634
+ * STANDARD storage class provides high durability and high availability. Depending on
635
+ * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses
636
+ * the OUTPOSTS Storage Class. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a> in the
637
+ * <i>Amazon S3 User Guide</i>.</p>
638
+ */
639
+ StorageClass?: StorageClass | string;
640
+ /**
641
+ * <p>If the bucket is configured as a website, redirects requests for this object to another
642
+ * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in
643
+ * the object metadata. This value is unique to each object and is not copied when using the
644
+ * <code>x-amz-metadata-directive</code> header. Instead, you may opt to provide this
645
+ * header in combination with the directive.</p>
646
+ */
647
+ WebsiteRedirectLocation?: string;
648
+ /**
649
+ * <p>Specifies the algorithm to use to when encrypting the object (for example,
650
+ * AES256).</p>
651
+ */
652
+ SSECustomerAlgorithm?: string;
653
+ /**
654
+ * <p>Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This
655
+ * value is used to store the object and then it is discarded; Amazon S3 does not store the
656
+ * encryption key. The key must be appropriate for use with the algorithm specified in the
657
+ * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p>
658
+ */
659
+ SSECustomerKey?: string;
660
+ /**
661
+ * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses
662
+ * this header for a message integrity check to ensure that the encryption key was transmitted
663
+ * without error.</p>
664
+ */
665
+ SSECustomerKeyMD5?: string;
666
+ /**
667
+ * <p>Specifies the Amazon Web Services KMS key ID to use for object encryption. All GET and PUT requests
668
+ * for an object protected by Amazon Web Services KMS will fail if not made via SSL or using SigV4. For
669
+ * information about configuring using any of the officially supported Amazon Web Services SDKs and Amazon Web Services
670
+ * CLI, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying the
671
+ * Signature Version in Request Authentication</a> in the
672
+ * <i>Amazon S3 User Guide</i>.</p>
673
+ */
674
+ SSEKMSKeyId?: string;
675
+ /**
676
+ * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of
677
+ * this header is a base64-encoded UTF-8 string holding JSON with the encryption context
678
+ * key-value pairs.</p>
679
+ */
680
+ SSEKMSEncryptionContext?: string;
681
+ /**
682
+ * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with
683
+ * server-side encryption using AWS KMS (SSE-KMS). Setting this header to <code>true</code>
684
+ * causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS. </p>
685
+ * <p>Specifying this header with a COPY action doesn’t affect bucket-level settings for S3
686
+ * Bucket Key.</p>
687
+ */
688
+ BucketKeyEnabled?: boolean;
689
+ /**
690
+ * <p>Specifies the algorithm to use when decrypting the source object (for example,
691
+ * AES256).</p>
692
+ */
693
+ CopySourceSSECustomerAlgorithm?: string;
694
+ /**
695
+ * <p>Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source
696
+ * object. The encryption key provided in this header must be one that was used when the
697
+ * source object was created.</p>
698
+ */
699
+ CopySourceSSECustomerKey?: string;
700
+ /**
701
+ * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses
702
+ * this header for a message integrity check to ensure that the encryption key was transmitted
703
+ * without error.</p>
704
+ */
705
+ CopySourceSSECustomerKeyMD5?: string;
706
+ /**
707
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
708
+ * owners need not specify this parameter in their requests. For information about downloading
709
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
710
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
711
+ */
712
+ RequestPayer?: RequestPayer | string;
713
+ /**
714
+ * <p>The tag-set for the object destination object this value must be used in conjunction
715
+ * with the <code>TaggingDirective</code>. The tag-set must be encoded as URL Query
716
+ * parameters.</p>
717
+ */
718
+ Tagging?: string;
719
+ /**
720
+ * <p>The Object Lock mode that you want to apply to the copied object.</p>
721
+ */
722
+ ObjectLockMode?: ObjectLockMode | string;
723
+ /**
724
+ * <p>The date and time when you want the copied object's Object Lock to expire.</p>
725
+ */
726
+ ObjectLockRetainUntilDate?: Date;
727
+ /**
728
+ * <p>Specifies whether you want to apply a legal hold to the copied object.</p>
729
+ */
730
+ ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;
731
+ /**
732
+ * <p>The account ID of the expected destination bucket owner. If the destination bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
733
+ */
734
+ ExpectedBucketOwner?: string;
735
+ /**
736
+ * <p>The account ID of the expected source bucket owner. If the source bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
737
+ */
738
+ ExpectedSourceBucketOwner?: string;
739
+ }
740
+ /**
741
+ * @public
742
+ * <p>Container for all response elements.</p>
743
+ */
744
+ export interface CopyObjectResult {
745
+ /**
746
+ * <p>Returns the ETag of the new object. The ETag reflects only changes to the contents of an
747
+ * object, not its metadata.</p>
748
+ */
749
+ ETag?: string;
750
+ /**
751
+ * <p>Creation date of the object.</p>
752
+ */
753
+ LastModified?: Date;
754
+ /**
755
+ * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded
756
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
757
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
758
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
759
+ */
760
+ ChecksumCRC32?: string;
761
+ /**
762
+ * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded
763
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
764
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
765
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
766
+ */
767
+ ChecksumCRC32C?: string;
768
+ /**
769
+ * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded
770
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
771
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
772
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
773
+ */
774
+ ChecksumSHA1?: string;
775
+ /**
776
+ * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded
777
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
778
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
779
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
780
+ */
781
+ ChecksumSHA256?: string;
782
+ }
783
+ /**
784
+ * @public
785
+ *
786
+ * The input for {@link CreateMultipartUploadCommand}.
787
+ */
788
+ export interface CreateMultipartUploadCommandInput
789
+ extends CreateMultipartUploadRequest {}
790
+ /**
791
+ * @public
792
+ *
793
+ * The output of {@link CreateMultipartUploadCommand}.
794
+ */
795
+ export interface CreateMultipartUploadCommandOutput
796
+ extends CreateMultipartUploadOutput,
797
+ __MetadataBearer {}
798
+ /**
799
+ * @public
800
+ */
801
+ export interface CreateMultipartUploadOutput {
802
+ /**
803
+ * <p>If the bucket has a lifecycle rule configured with an action to abort incomplete
804
+ * multipart uploads and the prefix in the lifecycle rule matches the object name in the
805
+ * request, the response includes this header. The header indicates when the initiated
806
+ * multipart upload becomes eligible for an abort operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">
807
+ * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>.</p>
808
+ * <p>The response also includes the <code>x-amz-abort-rule-id</code> header that provides the
809
+ * ID of the lifecycle configuration rule that defines this action.</p>
810
+ */
811
+ AbortDate?: Date;
812
+ /**
813
+ * <p>This header is returned along with the <code>x-amz-abort-date</code> header. It
814
+ * identifies the applicable lifecycle configuration rule that defines the action to abort
815
+ * incomplete multipart uploads.</p>
816
+ */
817
+ AbortRuleId?: string;
818
+ /**
819
+ * <p>The name of the bucket to which the multipart upload was initiated. Does not return the
820
+ * access point ARN or access point alias if used.</p>
821
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
822
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
823
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
824
+ */
825
+ Bucket?: string;
826
+ /**
827
+ * <p>Object key for which the multipart upload was initiated.</p>
828
+ */
829
+ Key?: string;
830
+ /**
831
+ * <p>ID for the initiated multipart upload.</p>
832
+ */
833
+ UploadId?: string;
834
+ /**
835
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
836
+ * AES256, <code>aws:kms</code>).</p>
837
+ */
838
+ ServerSideEncryption?: ServerSideEncryption | string;
839
+ /**
840
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
841
+ * response will include this header confirming the encryption algorithm used.</p>
842
+ */
843
+ SSECustomerAlgorithm?: string;
844
+ /**
845
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
846
+ * response will include this header to provide round-trip message integrity verification of
847
+ * the customer-provided encryption key.</p>
848
+ */
849
+ SSECustomerKeyMD5?: string;
850
+ /**
851
+ * <p>If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric
852
+ * encryption customer managed key that was used for the object.</p>
853
+ */
854
+ SSEKMSKeyId?: string;
855
+ /**
856
+ * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The
857
+ * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption
858
+ * context key-value pairs.</p>
859
+ */
860
+ SSEKMSEncryptionContext?: string;
861
+ /**
862
+ * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption
863
+ * with Amazon Web Services KMS (SSE-KMS).</p>
864
+ */
865
+ BucketKeyEnabled?: boolean;
866
+ /**
867
+ * <p>If present, indicates that the requester was successfully charged for the
868
+ * request.</p>
869
+ */
870
+ RequestCharged?: RequestCharged | string;
871
+ /**
872
+ * <p>The algorithm that was used to create a checksum of the object.</p>
873
+ */
874
+ ChecksumAlgorithm?: ChecksumAlgorithm | string;
875
+ }
876
+ /**
877
+ * @public
878
+ */
879
+ export interface CreateMultipartUploadRequest {
880
+ /**
881
+ * <p>The canned ACL to apply to the object.</p>
882
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
883
+ */
884
+ ACL?: ObjectCannedACL | string;
885
+ /**
886
+ * <p>The name of the bucket to which to initiate the upload</p>
887
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
888
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
889
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
890
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
891
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
892
+ */
893
+ Bucket: string | undefined;
894
+ /**
895
+ * <p>Specifies caching behavior along the request/reply chain.</p>
896
+ */
897
+ CacheControl?: string;
898
+ /**
899
+ * <p>Specifies presentational information for the object.</p>
900
+ */
901
+ ContentDisposition?: string;
902
+ /**
903
+ * <p>Specifies what content encodings have been applied to the object and thus what decoding
904
+ * mechanisms must be applied to obtain the media-type referenced by the Content-Type header
905
+ * field.</p>
906
+ */
907
+ ContentEncoding?: string;
908
+ /**
909
+ * <p>The language the content is in.</p>
910
+ */
911
+ ContentLanguage?: string;
912
+ /**
913
+ * <p>A standard MIME type describing the format of the object data.</p>
914
+ */
915
+ ContentType?: string;
916
+ /**
917
+ * <p>The date and time at which the object is no longer cacheable.</p>
918
+ */
919
+ Expires?: Date;
920
+ /**
921
+ * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.</p>
922
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
923
+ */
924
+ GrantFullControl?: string;
925
+ /**
926
+ * <p>Allows grantee to read the object data and its metadata.</p>
927
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
928
+ */
929
+ GrantRead?: string;
930
+ /**
931
+ * <p>Allows grantee to read the object ACL.</p>
932
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
933
+ */
934
+ GrantReadACP?: string;
935
+ /**
936
+ * <p>Allows grantee to write the ACL for the applicable object.</p>
937
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
938
+ */
939
+ GrantWriteACP?: string;
940
+ /**
941
+ * <p>Object key for which the multipart upload is to be initiated.</p>
942
+ */
943
+ Key: string | undefined;
944
+ /**
945
+ * <p>A map of metadata to store with the object in S3.</p>
946
+ */
947
+ Metadata?: Record<string, string>;
948
+ /**
949
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
950
+ * AES256, <code>aws:kms</code>).</p>
951
+ */
952
+ ServerSideEncryption?: ServerSideEncryption | string;
953
+ /**
954
+ * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The
955
+ * STANDARD storage class provides high durability and high availability. Depending on
956
+ * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses
957
+ * the OUTPOSTS Storage Class. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a> in the
958
+ * <i>Amazon S3 User Guide</i>.</p>
959
+ */
960
+ StorageClass?: StorageClass | string;
961
+ /**
962
+ * <p>If the bucket is configured as a website, redirects requests for this object to another
963
+ * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in
964
+ * the object metadata.</p>
965
+ */
966
+ WebsiteRedirectLocation?: string;
967
+ /**
968
+ * <p>Specifies the algorithm to use to when encrypting the object (for example,
969
+ * AES256).</p>
970
+ */
971
+ SSECustomerAlgorithm?: string;
972
+ /**
973
+ * <p>Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This
974
+ * value is used to store the object and then it is discarded; Amazon S3 does not store the
975
+ * encryption key. The key must be appropriate for use with the algorithm specified in the
976
+ * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p>
977
+ */
978
+ SSECustomerKey?: string;
979
+ /**
980
+ * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses
981
+ * this header for a message integrity check to ensure that the encryption key was transmitted
982
+ * without error.</p>
983
+ */
984
+ SSECustomerKeyMD5?: string;
985
+ /**
986
+ * <p>Specifies the ID of the symmetric encryption customer managed key to use for object encryption.
987
+ * All GET and PUT requests for an object protected by Amazon Web Services KMS will fail if not made via SSL
988
+ * or using SigV4. For information about configuring using any of the officially supported
989
+ * Amazon Web Services SDKs and Amazon Web Services CLI, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying the Signature Version in Request Authentication</a>
990
+ * in the <i>Amazon S3 User Guide</i>.</p>
991
+ */
992
+ SSEKMSKeyId?: string;
993
+ /**
994
+ * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of
995
+ * this header is a base64-encoded UTF-8 string holding JSON with the encryption context
996
+ * key-value pairs.</p>
997
+ */
998
+ SSEKMSEncryptionContext?: string;
999
+ /**
1000
+ * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with
1001
+ * server-side encryption using AWS KMS (SSE-KMS). Setting this header to <code>true</code>
1002
+ * causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.</p>
1003
+ * <p>Specifying this header with an object action doesn’t affect bucket-level settings for S3
1004
+ * Bucket Key.</p>
1005
+ */
1006
+ BucketKeyEnabled?: boolean;
1007
+ /**
1008
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
1009
+ * owners need not specify this parameter in their requests. For information about downloading
1010
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
1011
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
1012
+ */
1013
+ RequestPayer?: RequestPayer | string;
1014
+ /**
1015
+ * <p>The tag-set for the object. The tag-set must be encoded as URL Query parameters.</p>
1016
+ */
1017
+ Tagging?: string;
1018
+ /**
1019
+ * <p>Specifies the Object Lock mode that you want to apply to the uploaded object.</p>
1020
+ */
1021
+ ObjectLockMode?: ObjectLockMode | string;
1022
+ /**
1023
+ * <p>Specifies the date and time when you want the Object Lock to expire.</p>
1024
+ */
1025
+ ObjectLockRetainUntilDate?: Date;
1026
+ /**
1027
+ * <p>Specifies whether you want to apply a legal hold to the uploaded object.</p>
1028
+ */
1029
+ ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;
1030
+ /**
1031
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
1032
+ */
1033
+ ExpectedBucketOwner?: string;
1034
+ /**
1035
+ * <p>Indicates the algorithm you want Amazon S3 to use to create the checksum for the object. For more information, see
1036
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
1037
+ * the <i>Amazon S3 User Guide</i>.</p>
1038
+ */
1039
+ ChecksumAlgorithm?: ChecksumAlgorithm | string;
1040
+ }
1041
+ /**
1042
+ * @public
1043
+ *
1044
+ * The input for {@link DeleteObjectCommand}.
1045
+ */
1046
+ export interface DeleteObjectCommandInput extends DeleteObjectRequest {}
1047
+ /**
1048
+ * @public
1049
+ *
1050
+ * The output of {@link DeleteObjectCommand}.
1051
+ */
1052
+ export interface DeleteObjectCommandOutput
1053
+ extends DeleteObjectOutput,
1054
+ __MetadataBearer {}
1055
+ /**
1056
+ * @public
1057
+ */
1058
+ export interface DeleteObjectOutput {
1059
+ /**
1060
+ * <p>Specifies whether the versioned object that was permanently deleted was (true) or was
1061
+ * not (false) a delete marker.</p>
1062
+ */
1063
+ DeleteMarker?: boolean;
1064
+ /**
1065
+ * <p>Returns the version ID of the delete marker created as a result of the DELETE
1066
+ * operation.</p>
1067
+ */
1068
+ VersionId?: string;
1069
+ /**
1070
+ * <p>If present, indicates that the requester was successfully charged for the
1071
+ * request.</p>
1072
+ */
1073
+ RequestCharged?: RequestCharged | string;
1074
+ }
1075
+ /**
1076
+ * @public
1077
+ */
1078
+ export interface DeleteObjectRequest {
1079
+ /**
1080
+ * <p>The bucket name of the bucket containing the object. </p>
1081
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
1082
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
1083
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
1084
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
1085
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
1086
+ */
1087
+ Bucket: string | undefined;
1088
+ /**
1089
+ * <p>Key name of the object to delete.</p>
1090
+ */
1091
+ Key: string | undefined;
1092
+ /**
1093
+ * <p>The concatenation of the authentication device's serial number, a space, and the value
1094
+ * that is displayed on your authentication device. Required to permanently delete a versioned
1095
+ * object if versioning is configured with MFA delete enabled.</p>
1096
+ */
1097
+ MFA?: string;
1098
+ /**
1099
+ * <p>VersionId used to reference a specific version of the object.</p>
1100
+ */
1101
+ VersionId?: string;
1102
+ /**
1103
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
1104
+ * owners need not specify this parameter in their requests. For information about downloading
1105
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
1106
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
1107
+ */
1108
+ RequestPayer?: RequestPayer | string;
1109
+ /**
1110
+ * <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process
1111
+ * this operation. To use this header, you must have the
1112
+ * <code>s3:BypassGovernanceRetention</code> permission.</p>
1113
+ */
1114
+ BypassGovernanceRetention?: boolean;
1115
+ /**
1116
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
1117
+ */
1118
+ ExpectedBucketOwner?: string;
1119
+ }
1120
+ /**
1121
+ * @public
1122
+ *
1123
+ * The input for {@link GetObjectCommand}.
1124
+ */
1125
+ export interface GetObjectCommandInput extends GetObjectRequest {}
1126
+ /**
1127
+ * @public
1128
+ *
1129
+ * The output of {@link GetObjectCommand}.
1130
+ */
1131
+ export interface GetObjectCommandOutput
1132
+ extends GetObjectOutput,
1133
+ __MetadataBearer {}
1134
+ /**
1135
+ * @public
1136
+ */
1137
+ export interface GetObjectOutput {
1138
+ /**
1139
+ * <p>Object data.</p>
1140
+ */
1141
+ Body?: CompatibleHttpResponse['body'];
1142
+ /**
1143
+ * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If
1144
+ * false, this response header does not appear in the response.</p>
1145
+ */
1146
+ DeleteMarker?: boolean;
1147
+ /**
1148
+ * <p>Indicates that a range of bytes was specified.</p>
1149
+ */
1150
+ AcceptRanges?: string;
1151
+ /**
1152
+ * <p>If the object expiration is configured (see PUT Bucket lifecycle), the response includes
1153
+ * this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value
1154
+ * pairs providing object expiration information. The value of the <code>rule-id</code> is
1155
+ * URL-encoded.</p>
1156
+ */
1157
+ Expiration?: string;
1158
+ /**
1159
+ * <p>Provides information about object restoration action and expiration time of the restored
1160
+ * object copy.</p>
1161
+ */
1162
+ Restore?: string;
1163
+ /**
1164
+ * <p>Creation date of the object.</p>
1165
+ */
1166
+ LastModified?: Date;
1167
+ /**
1168
+ * <p>Size of the body in bytes.</p>
1169
+ */
1170
+ ContentLength?: number;
1171
+ /**
1172
+ * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a specific
1173
+ * version of a resource found at a URL.</p>
1174
+ */
1175
+ ETag?: string;
1176
+ /**
1177
+ * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded
1178
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
1179
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
1180
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
1181
+ */
1182
+ ChecksumCRC32?: string;
1183
+ /**
1184
+ * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded
1185
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
1186
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
1187
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
1188
+ */
1189
+ ChecksumCRC32C?: string;
1190
+ /**
1191
+ * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded
1192
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
1193
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
1194
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
1195
+ */
1196
+ ChecksumSHA1?: string;
1197
+ /**
1198
+ * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded
1199
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
1200
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
1201
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
1202
+ */
1203
+ ChecksumSHA256?: string;
1204
+ /**
1205
+ * <p>This is set to the number of metadata entries not returned in <code>x-amz-meta</code>
1206
+ * headers. This can happen if you create metadata using an API like SOAP that supports more
1207
+ * flexible metadata than the REST API. For example, using SOAP, you can create metadata whose
1208
+ * values are not legal HTTP headers.</p>
1209
+ */
1210
+ MissingMeta?: number;
1211
+ /**
1212
+ * <p>Version of the object.</p>
1213
+ */
1214
+ VersionId?: string;
1215
+ /**
1216
+ * <p>Specifies caching behavior along the request/reply chain.</p>
1217
+ */
1218
+ CacheControl?: string;
1219
+ /**
1220
+ * <p>Specifies presentational information for the object.</p>
1221
+ */
1222
+ ContentDisposition?: string;
1223
+ /**
1224
+ * <p>Specifies what content encodings have been applied to the object and thus what decoding
1225
+ * mechanisms must be applied to obtain the media-type referenced by the Content-Type header
1226
+ * field.</p>
1227
+ */
1228
+ ContentEncoding?: string;
1229
+ /**
1230
+ * <p>The language the content is in.</p>
1231
+ */
1232
+ ContentLanguage?: string;
1233
+ /**
1234
+ * <p>The portion of the object returned in the response.</p>
1235
+ */
1236
+ ContentRange?: string;
1237
+ /**
1238
+ * <p>A standard MIME type describing the format of the object data.</p>
1239
+ */
1240
+ ContentType?: string;
1241
+ /**
1242
+ * <p>The date and time at which the object is no longer cacheable.</p>
1243
+ */
1244
+ Expires?: Date;
1245
+ /**
1246
+ * <p>If the bucket is configured as a website, redirects requests for this object to another
1247
+ * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in
1248
+ * the object metadata.</p>
1249
+ */
1250
+ WebsiteRedirectLocation?: string;
1251
+ /**
1252
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
1253
+ * AES256, <code>aws:kms</code>).</p>
1254
+ */
1255
+ ServerSideEncryption?: ServerSideEncryption | string;
1256
+ /**
1257
+ * <p>A map of metadata to store with the object in S3.</p>
1258
+ */
1259
+ Metadata?: Record<string, string>;
1260
+ /**
1261
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
1262
+ * response will include this header confirming the encryption algorithm used.</p>
1263
+ */
1264
+ SSECustomerAlgorithm?: string;
1265
+ /**
1266
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
1267
+ * response will include this header to provide round-trip message integrity verification of
1268
+ * the customer-provided encryption key.</p>
1269
+ */
1270
+ SSECustomerKeyMD5?: string;
1271
+ /**
1272
+ * <p>If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric
1273
+ * encryption customer managed key that was used for the object.</p>
1274
+ */
1275
+ SSEKMSKeyId?: string;
1276
+ /**
1277
+ * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services
1278
+ * KMS (SSE-KMS).</p>
1279
+ */
1280
+ BucketKeyEnabled?: boolean;
1281
+ /**
1282
+ * <p>Provides storage class information of the object. Amazon S3 returns this header for all
1283
+ * objects except for S3 Standard storage class objects.</p>
1284
+ */
1285
+ StorageClass?: StorageClass | string;
1286
+ /**
1287
+ * <p>If present, indicates that the requester was successfully charged for the
1288
+ * request.</p>
1289
+ */
1290
+ RequestCharged?: RequestCharged | string;
1291
+ /**
1292
+ * <p>Amazon S3 can return this if your request involves a bucket that is either a source or
1293
+ * destination in a replication rule.</p>
1294
+ */
1295
+ ReplicationStatus?: ReplicationStatus | string;
1296
+ /**
1297
+ * <p>The count of parts this object has. This value is only returned if you specify
1298
+ * <code>partNumber</code> in your request and the object was uploaded as a multipart
1299
+ * upload.</p>
1300
+ */
1301
+ PartsCount?: number;
1302
+ /**
1303
+ * <p>The number of tags, if any, on the object.</p>
1304
+ */
1305
+ TagCount?: number;
1306
+ /**
1307
+ * <p>The Object Lock mode currently in place for this object.</p>
1308
+ */
1309
+ ObjectLockMode?: ObjectLockMode | string;
1310
+ /**
1311
+ * <p>The date and time when this object's Object Lock will expire.</p>
1312
+ */
1313
+ ObjectLockRetainUntilDate?: Date;
1314
+ /**
1315
+ * <p>Indicates whether this object has an active legal hold. This field is only returned if
1316
+ * you have permission to view an object's legal hold status. </p>
1317
+ */
1318
+ ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;
1319
+ }
1320
+ /**
1321
+ * @public
1322
+ */
1323
+ export interface GetObjectRequest {
1324
+ /**
1325
+ * <p>The bucket name containing the object. </p>
1326
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
1327
+ * <p>When using an Object Lambda access point the hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-object-lambda.<i>Region</i>.amazonaws.com.</p>
1328
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
1329
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
1330
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
1331
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
1332
+ */
1333
+ Bucket: string | undefined;
1334
+ /**
1335
+ * <p>Return the object only if its entity tag (ETag) is the same as the one specified;
1336
+ * otherwise, return a 412 (precondition failed) error.</p>
1337
+ */
1338
+ IfMatch?: string;
1339
+ /**
1340
+ * <p>Return the object only if it has been modified since the specified time; otherwise,
1341
+ * return a 304 (not modified) error.</p>
1342
+ */
1343
+ IfModifiedSince?: Date;
1344
+ /**
1345
+ * <p>Return the object only if its entity tag (ETag) is different from the one specified;
1346
+ * otherwise, return a 304 (not modified) error.</p>
1347
+ */
1348
+ IfNoneMatch?: string;
1349
+ /**
1350
+ * <p>Return the object only if it has not been modified since the specified time; otherwise,
1351
+ * return a 412 (precondition failed) error.</p>
1352
+ */
1353
+ IfUnmodifiedSince?: Date;
1354
+ /**
1355
+ * <p>Key of the object to get.</p>
1356
+ */
1357
+ Key: string | undefined;
1358
+ /**
1359
+ * <p>Downloads the specified range bytes of an object. For more information about the HTTP
1360
+ * Range header, see <a href="https://www.rfc-editor.org/rfc/rfc9110.html#name-range">https://www.rfc-editor.org/rfc/rfc9110.html#name-range</a>.</p>
1361
+ * <note>
1362
+ * <p>Amazon S3 doesn't support retrieving multiple ranges of data per <code>GET</code>
1363
+ * request.</p>
1364
+ * </note>
1365
+ */
1366
+ Range?: string;
1367
+ /**
1368
+ * <p>Sets the <code>Cache-Control</code> header of the response.</p>
1369
+ */
1370
+ ResponseCacheControl?: string;
1371
+ /**
1372
+ * <p>Sets the <code>Content-Disposition</code> header of the response</p>
1373
+ */
1374
+ ResponseContentDisposition?: string;
1375
+ /**
1376
+ * <p>Sets the <code>Content-Encoding</code> header of the response.</p>
1377
+ */
1378
+ ResponseContentEncoding?: string;
1379
+ /**
1380
+ * <p>Sets the <code>Content-Language</code> header of the response.</p>
1381
+ */
1382
+ ResponseContentLanguage?: string;
1383
+ /**
1384
+ * <p>Sets the <code>Content-Type</code> header of the response.</p>
1385
+ */
1386
+ ResponseContentType?: string;
1387
+ /**
1388
+ * <p>Sets the <code>Expires</code> header of the response.</p>
1389
+ */
1390
+ ResponseExpires?: Date;
1391
+ /**
1392
+ * <p>VersionId used to reference a specific version of the object.</p>
1393
+ */
1394
+ VersionId?: string;
1395
+ /**
1396
+ * <p>Specifies the algorithm to use to when decrypting the object (for example,
1397
+ * AES256).</p>
1398
+ */
1399
+ SSECustomerAlgorithm?: string;
1400
+ /**
1401
+ * <p>Specifies the customer-provided encryption key for Amazon S3 used to encrypt the data. This
1402
+ * value is used to decrypt the object when recovering it and must match the one used when
1403
+ * storing the data. The key must be appropriate for use with the algorithm specified in the
1404
+ * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p>
1405
+ */
1406
+ SSECustomerKey?: string;
1407
+ /**
1408
+ * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses
1409
+ * this header for a message integrity check to ensure that the encryption key was transmitted
1410
+ * without error.</p>
1411
+ */
1412
+ SSECustomerKeyMD5?: string;
1413
+ /**
1414
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
1415
+ * owners need not specify this parameter in their requests. For information about downloading
1416
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
1417
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
1418
+ */
1419
+ RequestPayer?: RequestPayer | string;
1420
+ /**
1421
+ * <p>Part number of the object being read. This is a positive integer between 1 and 10,000.
1422
+ * Effectively performs a 'ranged' GET request for the part specified. Useful for downloading
1423
+ * just a part of an object.</p>
1424
+ */
1425
+ PartNumber?: number;
1426
+ /**
1427
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
1428
+ */
1429
+ ExpectedBucketOwner?: string;
1430
+ /**
1431
+ * <p>To retrieve the checksum, this mode must be enabled.</p>
1432
+ */
1433
+ ChecksumMode?: ChecksumMode | string;
1434
+ }
1435
+ /**
1436
+ * @public
1437
+ *
1438
+ * The input for {@link HeadObjectCommand}.
1439
+ */
1440
+ export interface HeadObjectCommandInput extends HeadObjectRequest {}
1441
+ /**
1442
+ * @public
1443
+ *
1444
+ * The output of {@link HeadObjectCommand}.
1445
+ */
1446
+ export interface HeadObjectCommandOutput
1447
+ extends HeadObjectOutput,
1448
+ __MetadataBearer {}
1449
+ /**
1450
+ * @public
1451
+ */
1452
+ export interface HeadObjectOutput {
1453
+ /**
1454
+ * <p>Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If
1455
+ * false, this response header does not appear in the response.</p>
1456
+ */
1457
+ DeleteMarker?: boolean;
1458
+ /**
1459
+ * <p>Indicates that a range of bytes was specified.</p>
1460
+ */
1461
+ AcceptRanges?: string;
1462
+ /**
1463
+ * <p>If the object expiration is configured (see PUT Bucket lifecycle), the response includes
1464
+ * this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value
1465
+ * pairs providing object expiration information. The value of the <code>rule-id</code> is
1466
+ * URL-encoded.</p>
1467
+ */
1468
+ Expiration?: string;
1469
+ /**
1470
+ * <p>If the object is an archived object (an object whose storage class is GLACIER), the
1471
+ * response includes this header if either the archive restoration is in progress (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> or an archive copy is already restored.</p>
1472
+ * <p> If an archive copy is already restored, the header value indicates when Amazon S3 is
1473
+ * scheduled to delete the object copy. For example:</p>
1474
+ * <p>
1475
+ * <code>x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00
1476
+ * GMT"</code>
1477
+ * </p>
1478
+ * <p>If the object restoration is in progress, the header returns the value
1479
+ * <code>ongoing-request="true"</code>.</p>
1480
+ * <p>For more information about archiving objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning Objects: General Considerations</a>.</p>
1481
+ */
1482
+ Restore?: string;
1483
+ /**
1484
+ * <p>The archive state of the head object.</p>
1485
+ */
1486
+ ArchiveStatus?: ArchiveStatus | string;
1487
+ /**
1488
+ * <p>Creation date of the object.</p>
1489
+ */
1490
+ LastModified?: Date;
1491
+ /**
1492
+ * <p>Size of the body in bytes.</p>
1493
+ */
1494
+ ContentLength?: number;
1495
+ /**
1496
+ * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded
1497
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
1498
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
1499
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
1500
+ */
1501
+ ChecksumCRC32?: string;
1502
+ /**
1503
+ * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded
1504
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
1505
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
1506
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
1507
+ */
1508
+ ChecksumCRC32C?: string;
1509
+ /**
1510
+ * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded
1511
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
1512
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
1513
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
1514
+ */
1515
+ ChecksumSHA1?: string;
1516
+ /**
1517
+ * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded
1518
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
1519
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
1520
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
1521
+ */
1522
+ ChecksumSHA256?: string;
1523
+ /**
1524
+ * <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a specific
1525
+ * version of a resource found at a URL.</p>
1526
+ */
1527
+ ETag?: string;
1528
+ /**
1529
+ * <p>This is set to the number of metadata entries not returned in <code>x-amz-meta</code>
1530
+ * headers. This can happen if you create metadata using an API like SOAP that supports more
1531
+ * flexible metadata than the REST API. For example, using SOAP, you can create metadata whose
1532
+ * values are not legal HTTP headers.</p>
1533
+ */
1534
+ MissingMeta?: number;
1535
+ /**
1536
+ * <p>Version of the object.</p>
1537
+ */
1538
+ VersionId?: string;
1539
+ /**
1540
+ * <p>Specifies caching behavior along the request/reply chain.</p>
1541
+ */
1542
+ CacheControl?: string;
1543
+ /**
1544
+ * <p>Specifies presentational information for the object.</p>
1545
+ */
1546
+ ContentDisposition?: string;
1547
+ /**
1548
+ * <p>Specifies what content encodings have been applied to the object and thus what decoding
1549
+ * mechanisms must be applied to obtain the media-type referenced by the Content-Type header
1550
+ * field.</p>
1551
+ */
1552
+ ContentEncoding?: string;
1553
+ /**
1554
+ * <p>The language the content is in.</p>
1555
+ */
1556
+ ContentLanguage?: string;
1557
+ /**
1558
+ * <p>A standard MIME type describing the format of the object data.</p>
1559
+ */
1560
+ ContentType?: string;
1561
+ /**
1562
+ * <p>The date and time at which the object is no longer cacheable.</p>
1563
+ */
1564
+ Expires?: Date;
1565
+ /**
1566
+ * <p>If the bucket is configured as a website, redirects requests for this object to another
1567
+ * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in
1568
+ * the object metadata.</p>
1569
+ */
1570
+ WebsiteRedirectLocation?: string;
1571
+ /**
1572
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
1573
+ * AES256, <code>aws:kms</code>).</p>
1574
+ */
1575
+ ServerSideEncryption?: ServerSideEncryption | string;
1576
+ /**
1577
+ * <p>A map of metadata to store with the object in S3.</p>
1578
+ */
1579
+ Metadata?: Record<string, string>;
1580
+ /**
1581
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
1582
+ * response will include this header confirming the encryption algorithm used.</p>
1583
+ */
1584
+ SSECustomerAlgorithm?: string;
1585
+ /**
1586
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
1587
+ * response will include this header to provide round-trip message integrity verification of
1588
+ * the customer-provided encryption key.</p>
1589
+ */
1590
+ SSECustomerKeyMD5?: string;
1591
+ /**
1592
+ * <p>If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric
1593
+ * encryption customer managed key that was used for the object.</p>
1594
+ */
1595
+ SSEKMSKeyId?: string;
1596
+ /**
1597
+ * <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services
1598
+ * KMS (SSE-KMS).</p>
1599
+ */
1600
+ BucketKeyEnabled?: boolean;
1601
+ /**
1602
+ * <p>Provides storage class information of the object. Amazon S3 returns this header for all
1603
+ * objects except for S3 Standard storage class objects.</p>
1604
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p>
1605
+ */
1606
+ StorageClass?: StorageClass | string;
1607
+ /**
1608
+ * <p>If present, indicates that the requester was successfully charged for the
1609
+ * request.</p>
1610
+ */
1611
+ RequestCharged?: RequestCharged | string;
1612
+ /**
1613
+ * <p>Amazon S3 can return this header if your request involves a bucket that is either a source or
1614
+ * a destination in a replication rule.</p>
1615
+ * <p>In replication, you have a source bucket on which you configure replication and
1616
+ * destination bucket or buckets where Amazon S3 stores object replicas. When you request an object
1617
+ * (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) from these
1618
+ * buckets, Amazon S3 will return the <code>x-amz-replication-status</code> header in the response
1619
+ * as follows:</p>
1620
+ * <ul>
1621
+ * <li>
1622
+ * <p>
1623
+ * <b>If requesting an object from the source bucket</b>,
1624
+ * Amazon S3 will return the <code>x-amz-replication-status</code> header if the object in
1625
+ * your request is eligible for replication.</p>
1626
+ * <p> For example, suppose that in your replication configuration, you specify object
1627
+ * prefix <code>TaxDocs</code> requesting Amazon S3 to replicate objects with key prefix
1628
+ * <code>TaxDocs</code>. Any objects you upload with this key name prefix, for
1629
+ * example <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any
1630
+ * object request with this key name prefix, Amazon S3 will return the
1631
+ * <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or
1632
+ * FAILED indicating object replication status.</p>
1633
+ * </li>
1634
+ * <li>
1635
+ * <p>
1636
+ * <b>If requesting an object from a destination
1637
+ * bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header
1638
+ * with value REPLICA if the object in your request is a replica that Amazon S3 created and
1639
+ * there is no replica modification replication in progress.</p>
1640
+ * </li>
1641
+ * <li>
1642
+ * <p>
1643
+ * <b>When replicating objects to multiple destination
1644
+ * buckets</b>, the <code>x-amz-replication-status</code> header acts
1645
+ * differently. The header of the source object will only return a value of COMPLETED
1646
+ * when replication is successful to all destinations. The header will remain at value
1647
+ * PENDING until replication has completed for all destinations. If one or more
1648
+ * destinations fails replication the header will return FAILED. </p>
1649
+ * </li>
1650
+ * </ul>
1651
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p>
1652
+ */
1653
+ ReplicationStatus?: ReplicationStatus | string;
1654
+ /**
1655
+ * <p>The count of parts this object has. This value is only returned if you specify
1656
+ * <code>partNumber</code> in your request and the object was uploaded as a multipart
1657
+ * upload.</p>
1658
+ */
1659
+ PartsCount?: number;
1660
+ /**
1661
+ * <p>The Object Lock mode, if any, that's in effect for this object. This header is only
1662
+ * returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more
1663
+ * information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>. </p>
1664
+ */
1665
+ ObjectLockMode?: ObjectLockMode | string;
1666
+ /**
1667
+ * <p>The date and time when the Object Lock retention period expires. This header is only
1668
+ * returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p>
1669
+ */
1670
+ ObjectLockRetainUntilDate?: Date;
1671
+ /**
1672
+ * <p>Specifies whether a legal hold is in effect for this object. This header is only
1673
+ * returned if the requester has the <code>s3:GetObjectLegalHold</code> permission. This
1674
+ * header is not returned if the specified version of this object has never had a legal hold
1675
+ * applied. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p>
1676
+ */
1677
+ ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;
1678
+ }
1679
+ /**
1680
+ * @public
1681
+ */
1682
+ export interface HeadObjectRequest {
1683
+ /**
1684
+ * <p>The name of the bucket containing the object.</p>
1685
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
1686
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
1687
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
1688
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
1689
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
1690
+ */
1691
+ Bucket: string | undefined;
1692
+ /**
1693
+ * <p>Return the object only if its entity tag (ETag) is the same as the one specified;
1694
+ * otherwise, return a 412 (precondition failed) error.</p>
1695
+ */
1696
+ IfMatch?: string;
1697
+ /**
1698
+ * <p>Return the object only if it has been modified since the specified time; otherwise,
1699
+ * return a 304 (not modified) error.</p>
1700
+ */
1701
+ IfModifiedSince?: Date;
1702
+ /**
1703
+ * <p>Return the object only if its entity tag (ETag) is different from the one specified;
1704
+ * otherwise, return a 304 (not modified) error.</p>
1705
+ */
1706
+ IfNoneMatch?: string;
1707
+ /**
1708
+ * <p>Return the object only if it has not been modified since the specified time; otherwise,
1709
+ * return a 412 (precondition failed) error.</p>
1710
+ */
1711
+ IfUnmodifiedSince?: Date;
1712
+ /**
1713
+ * <p>The object key.</p>
1714
+ */
1715
+ Key: string | undefined;
1716
+ /**
1717
+ * <p>HeadObject returns only the metadata for an object. If the Range is satisfiable, only
1718
+ * the <code>ContentLength</code> is affected in the response. If the Range is not
1719
+ * satisfiable, S3 returns a <code>416 - Requested Range Not Satisfiable</code> error.</p>
1720
+ */
1721
+ Range?: string;
1722
+ /**
1723
+ * <p>VersionId used to reference a specific version of the object.</p>
1724
+ */
1725
+ VersionId?: string;
1726
+ /**
1727
+ * <p>Specifies the algorithm to use to when encrypting the object (for example,
1728
+ * AES256).</p>
1729
+ */
1730
+ SSECustomerAlgorithm?: string;
1731
+ /**
1732
+ * <p>Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This
1733
+ * value is used to store the object and then it is discarded; Amazon S3 does not store the
1734
+ * encryption key. The key must be appropriate for use with the algorithm specified in the
1735
+ * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p>
1736
+ */
1737
+ SSECustomerKey?: string;
1738
+ /**
1739
+ * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses
1740
+ * this header for a message integrity check to ensure that the encryption key was transmitted
1741
+ * without error.</p>
1742
+ */
1743
+ SSECustomerKeyMD5?: string;
1744
+ /**
1745
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
1746
+ * owners need not specify this parameter in their requests. For information about downloading
1747
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
1748
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
1749
+ */
1750
+ RequestPayer?: RequestPayer | string;
1751
+ /**
1752
+ * <p>Part number of the object being read. This is a positive integer between 1 and 10,000.
1753
+ * Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about
1754
+ * the size of the part and the number of parts in this object.</p>
1755
+ */
1756
+ PartNumber?: number;
1757
+ /**
1758
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
1759
+ */
1760
+ ExpectedBucketOwner?: string;
1761
+ /**
1762
+ * <p>To retrieve the checksum, this parameter must be enabled.</p>
1763
+ * <p>In addition, if you enable <code>ChecksumMode</code> and the object is encrypted with
1764
+ * Amazon Web Services Key Management Service (Amazon Web Services KMS), you must have permission to use the
1765
+ * <code>kms:Decrypt</code> action for the request to succeed.</p>
1766
+ */
1767
+ ChecksumMode?: ChecksumMode | string;
1768
+ }
1769
+ /**
1770
+ * @public
1771
+ * <p>Container element that identifies who initiated the multipart upload. </p>
1772
+ */
1773
+ export interface Initiator {
1774
+ /**
1775
+ * <p>If the principal is an Amazon Web Services account, it provides the Canonical User ID. If the
1776
+ * principal is an IAM User, it provides a user ARN value.</p>
1777
+ */
1778
+ ID?: string;
1779
+ /**
1780
+ * <p>Name of the Principal.</p>
1781
+ */
1782
+ DisplayName?: string;
1783
+ }
1784
+ /**
1785
+ * @public
1786
+ *
1787
+ * The input for {@link ListObjectsV2Command}.
1788
+ */
1789
+ export interface ListObjectsV2CommandInput extends ListObjectsV2Request {}
1790
+ /**
1791
+ * @public
1792
+ *
1793
+ * The output of {@link ListObjectsV2Command}.
1794
+ */
1795
+ export interface ListObjectsV2CommandOutput
1796
+ extends ListObjectsV2Output,
1797
+ __MetadataBearer {}
1798
+ /**
1799
+ * @public
1800
+ */
1801
+ export interface ListObjectsV2Output {
1802
+ /**
1803
+ * <p>Set to false if all of the results were returned. Set to true if more keys are available
1804
+ * to return. If the number of results exceeds that specified by MaxKeys, all of the results
1805
+ * might not be returned.</p>
1806
+ */
1807
+ IsTruncated?: boolean;
1808
+ /**
1809
+ * <p>Metadata about each object returned.</p>
1810
+ */
1811
+ Contents?: _Object[];
1812
+ /**
1813
+ * <p>The bucket name.</p>
1814
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
1815
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
1816
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
1817
+ */
1818
+ Name?: string;
1819
+ /**
1820
+ * <p> Keys that begin with the indicated prefix.</p>
1821
+ */
1822
+ Prefix?: string;
1823
+ /**
1824
+ * <p>Causes keys that contain the same string between the prefix and the first occurrence of
1825
+ * the delimiter to be rolled up into a single result element in the CommonPrefixes
1826
+ * collection. These rolled-up keys are not returned elsewhere in the response. Each rolled-up
1827
+ * result counts as only one return against the <code>MaxKeys</code> value.</p>
1828
+ */
1829
+ Delimiter?: string;
1830
+ /**
1831
+ * <p>Sets the maximum number of keys returned in the response. By default the action returns
1832
+ * up to 1,000 key names. The response might contain fewer keys but will never contain
1833
+ * more.</p>
1834
+ */
1835
+ MaxKeys?: number;
1836
+ /**
1837
+ * <p>All of the keys (up to 1,000) rolled up into a common prefix count as a single return
1838
+ * when calculating the number of returns.</p>
1839
+ * <p>A response can contain <code>CommonPrefixes</code> only if you specify a
1840
+ * delimiter.</p>
1841
+ * <p>
1842
+ * <code>CommonPrefixes</code> contains all (if there are any) keys between
1843
+ * <code>Prefix</code> and the next occurrence of the string specified by a
1844
+ * delimiter.</p>
1845
+ * <p>
1846
+ * <code>CommonPrefixes</code> lists keys that act like subdirectories in the directory
1847
+ * specified by <code>Prefix</code>.</p>
1848
+ * <p>For example, if the prefix is <code>notes/</code> and the delimiter is a slash
1849
+ * (<code>/</code>) as in <code>notes/summer/july</code>, the common prefix is
1850
+ * <code>notes/summer/</code>. All of the keys that roll up into a common prefix count as a
1851
+ * single return when calculating the number of returns. </p>
1852
+ */
1853
+ CommonPrefixes?: CommonPrefix[];
1854
+ /**
1855
+ * <p>Encoding type used by Amazon S3 to encode object key names in the XML response.</p>
1856
+ * <p>If you specify the encoding-type request parameter, Amazon S3 includes this element in the
1857
+ * response, and returns encoded key name values in the following response elements:</p>
1858
+ * <p>
1859
+ * <code>Delimiter, Prefix, Key,</code> and <code>StartAfter</code>.</p>
1860
+ */
1861
+ EncodingType?: EncodingType | string;
1862
+ /**
1863
+ * <p>KeyCount is the number of keys returned with this request. KeyCount will always be less
1864
+ * than or equal to the <code>MaxKeys</code> field. Say you ask for 50 keys, your result will
1865
+ * include 50 keys or fewer.</p>
1866
+ */
1867
+ KeyCount?: number;
1868
+ /**
1869
+ * <p> If ContinuationToken was sent with the request, it is included in the response.</p>
1870
+ */
1871
+ ContinuationToken?: string;
1872
+ /**
1873
+ * <p>
1874
+ * <code>NextContinuationToken</code> is sent when <code>isTruncated</code> is true, which
1875
+ * means there are more keys in the bucket that can be listed. The next list requests to Amazon S3
1876
+ * can be continued with this <code>NextContinuationToken</code>.
1877
+ * <code>NextContinuationToken</code> is obfuscated and is not a real key</p>
1878
+ */
1879
+ NextContinuationToken?: string;
1880
+ /**
1881
+ * <p>If StartAfter was sent with the request, it is included in the response.</p>
1882
+ */
1883
+ StartAfter?: string;
1884
+ }
1885
+ /**
1886
+ * @public
1887
+ */
1888
+ export interface ListObjectsV2Request {
1889
+ /**
1890
+ * <p>Bucket name to list. </p>
1891
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
1892
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
1893
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
1894
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
1895
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
1896
+ */
1897
+ Bucket: string | undefined;
1898
+ /**
1899
+ * <p>A delimiter is a character you use to group keys.</p>
1900
+ */
1901
+ Delimiter?: string;
1902
+ /**
1903
+ * <p>Encoding type used by Amazon S3 to encode object keys in the response.</p>
1904
+ */
1905
+ EncodingType?: EncodingType | string;
1906
+ /**
1907
+ * <p>Sets the maximum number of keys returned in the response. By default the action returns
1908
+ * up to 1,000 key names. The response might contain fewer keys but will never contain
1909
+ * more.</p>
1910
+ */
1911
+ MaxKeys?: number;
1912
+ /**
1913
+ * <p>Limits the response to keys that begin with the specified prefix.</p>
1914
+ */
1915
+ Prefix?: string;
1916
+ /**
1917
+ * <p>ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a
1918
+ * token. ContinuationToken is obfuscated and is not a real key.</p>
1919
+ */
1920
+ ContinuationToken?: string;
1921
+ /**
1922
+ * <p>The owner field is not present in listV2 by default, if you want to return owner field
1923
+ * with each key in the result then set the fetch owner field to true.</p>
1924
+ */
1925
+ FetchOwner?: boolean;
1926
+ /**
1927
+ * <p>StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this
1928
+ * specified key. StartAfter can be any key in the bucket.</p>
1929
+ */
1930
+ StartAfter?: string;
1931
+ /**
1932
+ * <p>Confirms that the requester knows that she or he will be charged for the list objects
1933
+ * request in V2 style. Bucket owners need not specify this parameter in their
1934
+ * requests.</p>
1935
+ */
1936
+ RequestPayer?: RequestPayer | string;
1937
+ /**
1938
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
1939
+ */
1940
+ ExpectedBucketOwner?: string;
1941
+ }
1942
+ /**
1943
+ * @public
1944
+ *
1945
+ * The input for {@link ListPartsCommand}.
1946
+ */
1947
+ export interface ListPartsCommandInput extends ListPartsRequest {}
1948
+ /**
1949
+ * @public
1950
+ *
1951
+ * The output of {@link ListPartsCommand}.
1952
+ */
1953
+ export interface ListPartsCommandOutput
1954
+ extends ListPartsOutput,
1955
+ __MetadataBearer {}
1956
+ /**
1957
+ * @public
1958
+ */
1959
+ export interface ListPartsOutput {
1960
+ /**
1961
+ * <p>If the bucket has a lifecycle rule configured with an action to abort incomplete
1962
+ * multipart uploads and the prefix in the lifecycle rule matches the object name in the
1963
+ * request, then the response includes this header indicating when the initiated multipart
1964
+ * upload will become eligible for abort operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>.</p>
1965
+ * <p>The response will also include the <code>x-amz-abort-rule-id</code> header that will
1966
+ * provide the ID of the lifecycle configuration rule that defines this action.</p>
1967
+ */
1968
+ AbortDate?: Date;
1969
+ /**
1970
+ * <p>This header is returned along with the <code>x-amz-abort-date</code> header. It
1971
+ * identifies applicable lifecycle configuration rule that defines the action to abort
1972
+ * incomplete multipart uploads.</p>
1973
+ */
1974
+ AbortRuleId?: string;
1975
+ /**
1976
+ * <p>The name of the bucket to which the multipart upload was initiated. Does not return the
1977
+ * access point ARN or access point alias if used.</p>
1978
+ */
1979
+ Bucket?: string;
1980
+ /**
1981
+ * <p>Object key for which the multipart upload was initiated.</p>
1982
+ */
1983
+ Key?: string;
1984
+ /**
1985
+ * <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
1986
+ */
1987
+ UploadId?: string;
1988
+ /**
1989
+ * <p>When a list is truncated, this element specifies the last part in the list, as well as
1990
+ * the value to use for the part-number-marker request parameter in a subsequent
1991
+ * request.</p>
1992
+ */
1993
+ PartNumberMarker?: string;
1994
+ /**
1995
+ * <p>When a list is truncated, this element specifies the last part in the list, as well as
1996
+ * the value to use for the part-number-marker request parameter in a subsequent
1997
+ * request.</p>
1998
+ */
1999
+ NextPartNumberMarker?: string;
2000
+ /**
2001
+ * <p>Maximum number of parts that were allowed in the response.</p>
2002
+ */
2003
+ MaxParts?: number;
2004
+ /**
2005
+ * <p> Indicates whether the returned list of parts is truncated. A true value indicates that
2006
+ * the list was truncated. A list can be truncated if the number of parts exceeds the limit
2007
+ * returned in the MaxParts element.</p>
2008
+ */
2009
+ IsTruncated?: boolean;
2010
+ /**
2011
+ * <p> Container for elements related to a particular part. A response can contain zero or
2012
+ * more <code>Part</code> elements.</p>
2013
+ */
2014
+ Parts?: Part[];
2015
+ /**
2016
+ * <p>Container element that identifies who initiated the multipart upload. If the initiator
2017
+ * is an Amazon Web Services account, this element provides the same information as the <code>Owner</code>
2018
+ * element. If the initiator is an IAM User, this element provides the user ARN and display
2019
+ * name.</p>
2020
+ */
2021
+ Initiator?: Initiator;
2022
+ /**
2023
+ * <p> Container element that identifies the object owner, after the object is created. If
2024
+ * multipart upload is initiated by an IAM user, this element provides the parent account ID
2025
+ * and display name.</p>
2026
+ */
2027
+ Owner?: Owner;
2028
+ /**
2029
+ * <p>Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded
2030
+ * object.</p>
2031
+ */
2032
+ StorageClass?: StorageClass | string;
2033
+ /**
2034
+ * <p>If present, indicates that the requester was successfully charged for the
2035
+ * request.</p>
2036
+ */
2037
+ RequestCharged?: RequestCharged | string;
2038
+ /**
2039
+ * <p>The algorithm that was used to create a checksum of the object.</p>
2040
+ */
2041
+ ChecksumAlgorithm?: ChecksumAlgorithm | string;
2042
+ }
2043
+ /**
2044
+ * @public
2045
+ */
2046
+ export interface ListPartsRequest {
2047
+ /**
2048
+ * <p>The name of the bucket to which the parts are being uploaded. </p>
2049
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
2050
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
2051
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
2052
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
2053
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
2054
+ */
2055
+ Bucket: string | undefined;
2056
+ /**
2057
+ * <p>Object key for which the multipart upload was initiated.</p>
2058
+ */
2059
+ Key: string | undefined;
2060
+ /**
2061
+ * <p>Sets the maximum number of parts to return.</p>
2062
+ */
2063
+ MaxParts?: number;
2064
+ /**
2065
+ * <p>Specifies the part after which listing should begin. Only parts with higher part numbers
2066
+ * will be listed.</p>
2067
+ */
2068
+ PartNumberMarker?: string;
2069
+ /**
2070
+ * <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
2071
+ */
2072
+ UploadId: string | undefined;
2073
+ /**
2074
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
2075
+ * owners need not specify this parameter in their requests. For information about downloading
2076
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
2077
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
2078
+ */
2079
+ RequestPayer?: RequestPayer | string;
2080
+ /**
2081
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
2082
+ */
2083
+ ExpectedBucketOwner?: string;
2084
+ /**
2085
+ * <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created
2086
+ * using a checksum algorithm. For more information,
2087
+ * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the
2088
+ * <i>Amazon S3 User Guide</i>.</p>
2089
+ */
2090
+ SSECustomerAlgorithm?: string;
2091
+ /**
2092
+ * <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm.
2093
+ * For more information, see
2094
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the
2095
+ * <i>Amazon S3 User Guide</i>.</p>
2096
+ */
2097
+ SSECustomerKey?: string;
2098
+ /**
2099
+ * <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum
2100
+ * algorithm. For more information,
2101
+ * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the
2102
+ * <i>Amazon S3 User Guide</i>.</p>
2103
+ */
2104
+ SSECustomerKeyMD5?: string;
2105
+ }
2106
+ /**
2107
+ * @public
2108
+ * <p>Container for the owner's display name and ID.</p>
2109
+ */
2110
+ export interface Owner {
2111
+ /**
2112
+ * <p>Container for the display name of the owner. This value is only supported in the
2113
+ * following Amazon Web Services Regions:</p>
2114
+ * <ul>
2115
+ * <li>
2116
+ * <p>US East (N. Virginia)</p>
2117
+ * </li>
2118
+ * <li>
2119
+ * <p>US West (N. California)</p>
2120
+ * </li>
2121
+ * <li>
2122
+ * <p>US West (Oregon)</p>
2123
+ * </li>
2124
+ * <li>
2125
+ * <p>Asia Pacific (Singapore)</p>
2126
+ * </li>
2127
+ * <li>
2128
+ * <p>Asia Pacific (Sydney)</p>
2129
+ * </li>
2130
+ * <li>
2131
+ * <p>Asia Pacific (Tokyo)</p>
2132
+ * </li>
2133
+ * <li>
2134
+ * <p>Europe (Ireland)</p>
2135
+ * </li>
2136
+ * <li>
2137
+ * <p>South America (São Paulo)</p>
2138
+ * </li>
2139
+ * </ul>
2140
+ */
2141
+ DisplayName?: string;
2142
+ /**
2143
+ * <p>Container for the ID of the owner.</p>
2144
+ */
2145
+ ID?: string;
2146
+ }
2147
+ /**
2148
+ * @public
2149
+ * <p>Container for elements related to a part.</p>
2150
+ */
2151
+ export interface Part {
2152
+ /**
2153
+ * <p>Part number identifying the part. This is a positive integer between 1 and
2154
+ * 10,000.</p>
2155
+ */
2156
+ PartNumber?: number;
2157
+ /**
2158
+ * <p>Date and time at which the part was uploaded.</p>
2159
+ */
2160
+ LastModified?: Date;
2161
+ /**
2162
+ * <p>Entity tag returned when the part was uploaded.</p>
2163
+ */
2164
+ ETag?: string;
2165
+ /**
2166
+ * <p>Size in bytes of the uploaded part data.</p>
2167
+ */
2168
+ Size?: number;
2169
+ /**
2170
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2171
+ * This header specifies the base64-encoded, 32-bit CRC32 checksum of the object. For more information, see
2172
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2173
+ * <i>Amazon S3 User Guide</i>.</p>
2174
+ */
2175
+ ChecksumCRC32?: string;
2176
+ /**
2177
+ * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded
2178
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2179
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2180
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2181
+ */
2182
+ ChecksumCRC32C?: string;
2183
+ /**
2184
+ * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded
2185
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2186
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2187
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2188
+ */
2189
+ ChecksumSHA1?: string;
2190
+ /**
2191
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2192
+ * This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see
2193
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2194
+ * <i>Amazon S3 User Guide</i>.</p>
2195
+ */
2196
+ ChecksumSHA256?: string;
2197
+ }
2198
+ /**
2199
+ * This interface extends from `PutObjectRequest` interface. There are more parameters than `Body` defined in {@link PutObjectRequest}
2200
+ */
2201
+ export interface PutObjectCommandInput extends PutObjectCommandInputType {}
2202
+ /**
2203
+ * @public
2204
+ *
2205
+ * The output of {@link PutObjectCommand}.
2206
+ */
2207
+ export interface PutObjectCommandOutput
2208
+ extends PutObjectOutput,
2209
+ __MetadataBearer {}
2210
+ /**
2211
+ * @public
2212
+ */
2213
+ export interface PutObjectOutput {
2214
+ /**
2215
+ * <p>If the expiration is configured for the object (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>), the response includes this header. It
2216
+ * includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide
2217
+ * information about object expiration. The value of the <code>rule-id</code> is
2218
+ * URL-encoded.</p>
2219
+ */
2220
+ Expiration?: string;
2221
+ /**
2222
+ * <p>Entity tag for the uploaded object.</p>
2223
+ */
2224
+ ETag?: string;
2225
+ /**
2226
+ * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded
2227
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2228
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2229
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2230
+ */
2231
+ ChecksumCRC32?: string;
2232
+ /**
2233
+ * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded
2234
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2235
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2236
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2237
+ */
2238
+ ChecksumCRC32C?: string;
2239
+ /**
2240
+ * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded
2241
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2242
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2243
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2244
+ */
2245
+ ChecksumSHA1?: string;
2246
+ /**
2247
+ * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded
2248
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2249
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2250
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2251
+ */
2252
+ ChecksumSHA256?: string;
2253
+ /**
2254
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
2255
+ * AES256, <code>aws:kms</code>).</p>
2256
+ */
2257
+ ServerSideEncryption?: ServerSideEncryption | string;
2258
+ /**
2259
+ * <p>Version of the object.</p>
2260
+ */
2261
+ VersionId?: string;
2262
+ /**
2263
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
2264
+ * response will include this header confirming the encryption algorithm used.</p>
2265
+ */
2266
+ SSECustomerAlgorithm?: string;
2267
+ /**
2268
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
2269
+ * response will include this header to provide round-trip message integrity verification of
2270
+ * the customer-provided encryption key.</p>
2271
+ */
2272
+ SSECustomerKeyMD5?: string;
2273
+ /**
2274
+ * <p>If <code>x-amz-server-side-encryption</code> is has a valid value of
2275
+ * <code>aws:kms</code>, this header specifies the ID of the Amazon Web Services Key Management Service
2276
+ * (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object. </p>
2277
+ */
2278
+ SSEKMSKeyId?: string;
2279
+ /**
2280
+ * <p>If present, specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The
2281
+ * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption
2282
+ * context key-value pairs. This value is stored as object metadata and automatically gets passed
2283
+ * on to Amazon Web Services KMS for future <code>GetObject</code> or <code>CopyObject</code> operations on
2284
+ * this object.</p>
2285
+ */
2286
+ SSEKMSEncryptionContext?: string;
2287
+ /**
2288
+ * <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption
2289
+ * with Amazon Web Services KMS (SSE-KMS).</p>
2290
+ */
2291
+ BucketKeyEnabled?: boolean;
2292
+ /**
2293
+ * <p>If present, indicates that the requester was successfully charged for the
2294
+ * request.</p>
2295
+ */
2296
+ RequestCharged?: RequestCharged | string;
2297
+ }
2298
+ /**
2299
+ * @public
2300
+ */
2301
+ export interface PutObjectRequest {
2302
+ /**
2303
+ * <p>The canned ACL to apply to the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
2304
+ * ACL</a>.</p>
2305
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
2306
+ */
2307
+ ACL?: ObjectCannedACL | string;
2308
+ /**
2309
+ * <p>Object data.</p>
2310
+ */
2311
+ Body?: ReadableStream | Blob;
2312
+ /**
2313
+ * <p>The bucket name to which the PUT action was initiated. </p>
2314
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
2315
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
2316
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
2317
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
2318
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
2319
+ */
2320
+ Bucket: string | undefined;
2321
+ /**
2322
+ * <p> Can be used to specify caching behavior along the request/reply chain. For more
2323
+ * information, see <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9</a>.</p>
2324
+ */
2325
+ CacheControl?: string;
2326
+ /**
2327
+ * <p>Specifies presentational information for the object. For more information, see <a href="https://www.rfc-editor.org/rfc/rfc6266#section-4">https://www.rfc-editor.org/rfc/rfc6266#section-4</a>.</p>
2328
+ */
2329
+ ContentDisposition?: string;
2330
+ /**
2331
+ * <p>Specifies what content encodings have been applied to the object and thus what decoding
2332
+ * mechanisms must be applied to obtain the media-type referenced by the Content-Type header
2333
+ * field. For more information, see <a href="https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding">https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding</a>.</p>
2334
+ */
2335
+ ContentEncoding?: string;
2336
+ /**
2337
+ * <p>The language the content is in.</p>
2338
+ */
2339
+ ContentLanguage?: string;
2340
+ /**
2341
+ * <p>Size of the body in bytes. This parameter is useful when the size of the body cannot be
2342
+ * determined automatically. For more information, see <a href="https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length">https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length</a>.</p>
2343
+ */
2344
+ ContentLength?: number;
2345
+ /**
2346
+ * <p>The base64-encoded 128-bit MD5 digest of the message (without the headers) according to
2347
+ * RFC 1864. This header can be used as a message integrity check to verify that the data is
2348
+ * the same data that was originally sent. Although it is optional, we recommend using the
2349
+ * Content-MD5 mechanism as an end-to-end integrity check. For more information about REST
2350
+ * request authentication, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST Authentication</a>.</p>
2351
+ */
2352
+ ContentMD5?: string;
2353
+ /**
2354
+ * <p>A standard MIME type describing the format of the contents. For more information, see
2355
+ * <a href="https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type">https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type</a>.</p>
2356
+ */
2357
+ ContentType?: string;
2358
+ /**
2359
+ * <p>Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any
2360
+ * additional functionality if not using the SDK. When sending this header, there must be a corresponding <code>x-amz-checksum</code> or
2361
+ * <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. For more
2362
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
2363
+ * the <i>Amazon S3 User Guide</i>.</p>
2364
+ * <p>If you provide an individual checksum, Amazon S3 ignores any provided
2365
+ * <code>ChecksumAlgorithm</code> parameter.</p>
2366
+ */
2367
+ ChecksumAlgorithm?: ChecksumAlgorithm | string;
2368
+ /**
2369
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2370
+ * This header specifies the base64-encoded, 32-bit CRC32 checksum of the object. For more information, see
2371
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2372
+ * <i>Amazon S3 User Guide</i>.</p>
2373
+ */
2374
+ ChecksumCRC32?: string;
2375
+ /**
2376
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2377
+ * This header specifies the base64-encoded, 32-bit CRC32C checksum of the object. For more information, see
2378
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2379
+ * <i>Amazon S3 User Guide</i>.</p>
2380
+ */
2381
+ ChecksumCRC32C?: string;
2382
+ /**
2383
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2384
+ * This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see
2385
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2386
+ * <i>Amazon S3 User Guide</i>.</p>
2387
+ */
2388
+ ChecksumSHA1?: string;
2389
+ /**
2390
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2391
+ * This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see
2392
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2393
+ * <i>Amazon S3 User Guide</i>.</p>
2394
+ */
2395
+ ChecksumSHA256?: string;
2396
+ /**
2397
+ * <p>The date and time at which the object is no longer cacheable. For more information, see
2398
+ * <a href="https://www.rfc-editor.org/rfc/rfc7234#section-5.3">https://www.rfc-editor.org/rfc/rfc7234#section-5.3</a>.</p>
2399
+ */
2400
+ Expires?: Date;
2401
+ /**
2402
+ * <p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.</p>
2403
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
2404
+ */
2405
+ GrantFullControl?: string;
2406
+ /**
2407
+ * <p>Allows grantee to read the object data and its metadata.</p>
2408
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
2409
+ */
2410
+ GrantRead?: string;
2411
+ /**
2412
+ * <p>Allows grantee to read the object ACL.</p>
2413
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
2414
+ */
2415
+ GrantReadACP?: string;
2416
+ /**
2417
+ * <p>Allows grantee to write the ACL for the applicable object.</p>
2418
+ * <p>This action is not supported by Amazon S3 on Outposts.</p>
2419
+ */
2420
+ GrantWriteACP?: string;
2421
+ /**
2422
+ * <p>Object key for which the PUT action was initiated.</p>
2423
+ */
2424
+ Key: string | undefined;
2425
+ /**
2426
+ * <p>A map of metadata to store with the object in S3.</p>
2427
+ */
2428
+ Metadata?: Record<string, string>;
2429
+ /**
2430
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
2431
+ * AES256, <code>aws:kms</code>).</p>
2432
+ */
2433
+ ServerSideEncryption?: ServerSideEncryption | string;
2434
+ /**
2435
+ * <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The
2436
+ * STANDARD storage class provides high durability and high availability. Depending on
2437
+ * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses
2438
+ * the OUTPOSTS Storage Class. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a> in the
2439
+ * <i>Amazon S3 User Guide</i>.</p>
2440
+ */
2441
+ StorageClass?: StorageClass | string;
2442
+ /**
2443
+ * <p>If the bucket is configured as a website, redirects requests for this object to another
2444
+ * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in
2445
+ * the object metadata. For information about object metadata, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html">Object Key and Metadata</a>.</p>
2446
+ * <p>In the following example, the request header sets the redirect to an object
2447
+ * (anotherPage.html) in the same bucket:</p>
2448
+ * <p>
2449
+ * <code>x-amz-website-redirect-location: /anotherPage.html</code>
2450
+ * </p>
2451
+ * <p>In the following example, the request header sets the object redirect to another
2452
+ * website:</p>
2453
+ * <p>
2454
+ * <code>x-amz-website-redirect-location: http://www.example.com/</code>
2455
+ * </p>
2456
+ * <p>For more information about website hosting in Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting Websites on Amazon S3</a> and
2457
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html">How to
2458
+ * Configure Website Page Redirects</a>. </p>
2459
+ */
2460
+ WebsiteRedirectLocation?: string;
2461
+ /**
2462
+ * <p>Specifies the algorithm to use to when encrypting the object (for example,
2463
+ * AES256).</p>
2464
+ */
2465
+ SSECustomerAlgorithm?: string;
2466
+ /**
2467
+ * <p>Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This
2468
+ * value is used to store the object and then it is discarded; Amazon S3 does not store the
2469
+ * encryption key. The key must be appropriate for use with the algorithm specified in the
2470
+ * <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p>
2471
+ */
2472
+ SSECustomerKey?: string;
2473
+ /**
2474
+ * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses
2475
+ * this header for a message integrity check to ensure that the encryption key was transmitted
2476
+ * without error.</p>
2477
+ */
2478
+ SSECustomerKeyMD5?: string;
2479
+ /**
2480
+ * <p>If <code>x-amz-server-side-encryption</code> has a valid value of <code>aws:kms</code>,
2481
+ * this header specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric
2482
+ * encryption customer managed key that was used for the object. If you specify
2483
+ * <code>x-amz-server-side-encryption:aws:kms</code>, but do not provide<code>
2484
+ * x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon Web Services managed key to
2485
+ * protect the data. If the KMS key does not exist in the same account issuing the command,
2486
+ * you must use the full ARN and not just the ID. </p>
2487
+ */
2488
+ SSEKMSKeyId?: string;
2489
+ /**
2490
+ * <p>Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of
2491
+ * this header is a base64-encoded UTF-8 string holding JSON with the encryption context
2492
+ * key-value pairs. This value is stored as object metadata and automatically gets passed on to
2493
+ * Amazon Web Services KMS for future <code>GetObject</code> or <code>CopyObject</code> operations on this
2494
+ * object.</p>
2495
+ */
2496
+ SSEKMSEncryptionContext?: string;
2497
+ /**
2498
+ * <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with
2499
+ * server-side encryption using AWS KMS (SSE-KMS). Setting this header to <code>true</code>
2500
+ * causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.</p>
2501
+ * <p>Specifying this header with a PUT action doesn’t affect bucket-level settings for S3
2502
+ * Bucket Key.</p>
2503
+ */
2504
+ BucketKeyEnabled?: boolean;
2505
+ /**
2506
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
2507
+ * owners need not specify this parameter in their requests. For information about downloading
2508
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
2509
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
2510
+ */
2511
+ RequestPayer?: RequestPayer | string;
2512
+ /**
2513
+ * <p>The tag-set for the object. The tag-set must be encoded as URL Query parameters. (For
2514
+ * example, "Key1=Value1")</p>
2515
+ */
2516
+ Tagging?: string;
2517
+ /**
2518
+ * <p>The Object Lock mode that you want to apply to this object.</p>
2519
+ */
2520
+ ObjectLockMode?: ObjectLockMode | string;
2521
+ /**
2522
+ * <p>The date and time when you want this object's Object Lock to expire. Must be formatted
2523
+ * as a timestamp parameter.</p>
2524
+ */
2525
+ ObjectLockRetainUntilDate?: Date;
2526
+ /**
2527
+ * <p>Specifies whether a legal hold will be applied to this object. For more information
2528
+ * about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p>
2529
+ */
2530
+ ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;
2531
+ /**
2532
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
2533
+ */
2534
+ ExpectedBucketOwner?: string;
2535
+ }
2536
+ /**
2537
+ * This interface extends from `UploadPartRequest` interface. There are more parameters than `Body` defined in {@link UploadPartRequest}
2538
+ */
2539
+ export interface UploadPartCommandInput extends UploadPartCommandInputType {}
2540
+ /**
2541
+ * @public
2542
+ *
2543
+ * The output of {@link UploadPartCommand}.
2544
+ */
2545
+ export interface UploadPartCommandOutput
2546
+ extends UploadPartOutput,
2547
+ __MetadataBearer {}
2548
+ /**
2549
+ * @public
2550
+ */
2551
+ export interface UploadPartOutput {
2552
+ /**
2553
+ * <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example,
2554
+ * AES256, <code>aws:kms</code>).</p>
2555
+ */
2556
+ ServerSideEncryption?: ServerSideEncryption | string;
2557
+ /**
2558
+ * <p>Entity tag for the uploaded object.</p>
2559
+ */
2560
+ ETag?: string;
2561
+ /**
2562
+ * <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded
2563
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2564
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2565
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2566
+ */
2567
+ ChecksumCRC32?: string;
2568
+ /**
2569
+ * <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded
2570
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2571
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2572
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2573
+ */
2574
+ ChecksumCRC32C?: string;
2575
+ /**
2576
+ * <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded
2577
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2578
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2579
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2580
+ */
2581
+ ChecksumSHA1?: string;
2582
+ /**
2583
+ * <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded
2584
+ * with the object. With multipart uploads, this may not be a checksum value of the object. For more information about how checksums are calculated
2585
+ * with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
2586
+ * Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
2587
+ */
2588
+ ChecksumSHA256?: string;
2589
+ /**
2590
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
2591
+ * response will include this header confirming the encryption algorithm used.</p>
2592
+ */
2593
+ SSECustomerAlgorithm?: string;
2594
+ /**
2595
+ * <p>If server-side encryption with a customer-provided encryption key was requested, the
2596
+ * response will include this header to provide round-trip message integrity verification of
2597
+ * the customer-provided encryption key.</p>
2598
+ */
2599
+ SSECustomerKeyMD5?: string;
2600
+ /**
2601
+ * <p>If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric
2602
+ * encryption customer managed key was used for the object.</p>
2603
+ */
2604
+ SSEKMSKeyId?: string;
2605
+ /**
2606
+ * <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption
2607
+ * with Amazon Web Services KMS (SSE-KMS).</p>
2608
+ */
2609
+ BucketKeyEnabled?: boolean;
2610
+ /**
2611
+ * <p>If present, indicates that the requester was successfully charged for the
2612
+ * request.</p>
2613
+ */
2614
+ RequestCharged?: RequestCharged | string;
2615
+ }
2616
+ /**
2617
+ * @public
2618
+ */
2619
+ export interface UploadPartRequest {
2620
+ /**
2621
+ * <p>Object data.</p>
2622
+ */
2623
+ Body?: ReadableStream | Blob;
2624
+ /**
2625
+ * <p>The name of the bucket to which the multipart upload was initiated.</p>
2626
+ * <p>When using this action with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p>
2627
+ * <p>When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code>
2628
+ * <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts</a> in the <i>Amazon S3 User Guide</i>.</p>
2629
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
2630
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
2631
+ */
2632
+ Bucket: string | undefined;
2633
+ /**
2634
+ * <p>Size of the body in bytes. This parameter is useful when the size of the body cannot be
2635
+ * determined automatically.</p>
2636
+ */
2637
+ ContentLength?: number;
2638
+ /**
2639
+ * <p>The base64-encoded 128-bit MD5 digest of the part data. This parameter is auto-populated
2640
+ * when using the command from the CLI. This parameter is required if object lock parameters
2641
+ * are specified.</p>
2642
+ */
2643
+ ContentMD5?: string;
2644
+ /**
2645
+ * <p>Indicates the algorithm used to create the checksum for the object when using the SDK. This header will not provide any
2646
+ * additional functionality if not using the SDK. When sending this header, there must be a corresponding <code>x-amz-checksum</code> or
2647
+ * <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. For more
2648
+ * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in
2649
+ * the <i>Amazon S3 User Guide</i>.</p>
2650
+ * <p>If you provide an individual checksum, Amazon S3 ignores any provided
2651
+ * <code>ChecksumAlgorithm</code> parameter.</p>
2652
+ * <p>This checksum algorithm must be the same for all parts and it match the checksum value
2653
+ * supplied in the <code>CreateMultipartUpload</code> request.</p>
2654
+ */
2655
+ ChecksumAlgorithm?: ChecksumAlgorithm | string;
2656
+ /**
2657
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2658
+ * This header specifies the base64-encoded, 32-bit CRC32 checksum of the object. For more information, see
2659
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2660
+ * <i>Amazon S3 User Guide</i>.</p>
2661
+ */
2662
+ ChecksumCRC32?: string;
2663
+ /**
2664
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2665
+ * This header specifies the base64-encoded, 32-bit CRC32C checksum of the object. For more information, see
2666
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2667
+ * <i>Amazon S3 User Guide</i>.</p>
2668
+ */
2669
+ ChecksumCRC32C?: string;
2670
+ /**
2671
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2672
+ * This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see
2673
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2674
+ * <i>Amazon S3 User Guide</i>.</p>
2675
+ */
2676
+ ChecksumSHA1?: string;
2677
+ /**
2678
+ * <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent.
2679
+ * This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see
2680
+ * <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the
2681
+ * <i>Amazon S3 User Guide</i>.</p>
2682
+ */
2683
+ ChecksumSHA256?: string;
2684
+ /**
2685
+ * <p>Object key for which the multipart upload was initiated.</p>
2686
+ */
2687
+ Key: string | undefined;
2688
+ /**
2689
+ * <p>Part number of part being uploaded. This is a positive integer between 1 and
2690
+ * 10,000.</p>
2691
+ */
2692
+ PartNumber: number | undefined;
2693
+ /**
2694
+ * <p>Upload ID identifying the multipart upload whose part is being uploaded.</p>
2695
+ */
2696
+ UploadId: string | undefined;
2697
+ /**
2698
+ * <p>Specifies the algorithm to use to when encrypting the object (for example,
2699
+ * AES256).</p>
2700
+ */
2701
+ SSECustomerAlgorithm?: string;
2702
+ /**
2703
+ * <p>Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This
2704
+ * value is used to store the object and then it is discarded; Amazon S3 does not store the
2705
+ * encryption key. The key must be appropriate for use with the algorithm specified in the
2706
+ * <code>x-amz-server-side-encryption-customer-algorithm header</code>. This must be the
2707
+ * same encryption key specified in the initiate multipart upload request.</p>
2708
+ */
2709
+ SSECustomerKey?: string;
2710
+ /**
2711
+ * <p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses
2712
+ * this header for a message integrity check to ensure that the encryption key was transmitted
2713
+ * without error.</p>
2714
+ */
2715
+ SSECustomerKeyMD5?: string;
2716
+ /**
2717
+ * <p>Confirms that the requester knows that they will be charged for the request. Bucket
2718
+ * owners need not specify this parameter in their requests. For information about downloading
2719
+ * objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in
2720
+ * Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p>
2721
+ */
2722
+ RequestPayer?: RequestPayer | string;
2723
+ /**
2724
+ * <p>The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
2725
+ */
2726
+ ExpectedBucketOwner?: string;
2727
+ }
2728
+ /**
2729
+ * @public
2730
+ * <p>An object consists of data and its descriptive metadata.</p>
2731
+ */
2732
+ export interface _Object {
2733
+ /**
2734
+ * <p>The name that you assign to an object. You use the object key to retrieve the
2735
+ * object.</p>
2736
+ */
2737
+ Key?: string;
2738
+ /**
2739
+ * <p>Creation date of the object.</p>
2740
+ */
2741
+ LastModified?: Date;
2742
+ /**
2743
+ * <p>The entity tag is a hash of the object. The ETag reflects changes only to the contents
2744
+ * of an object, not its metadata. The ETag may or may not be an MD5 digest of the object
2745
+ * data. Whether or not it is depends on how the object was created and how it is encrypted as
2746
+ * described below:</p>
2747
+ * <ul>
2748
+ * <li>
2749
+ * <p>Objects created by the PUT Object, POST Object, or Copy operation, or through the
2750
+ * Amazon Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that
2751
+ * are an MD5 digest of their object data.</p>
2752
+ * </li>
2753
+ * <li>
2754
+ * <p>Objects created by the PUT Object, POST Object, or Copy operation, or through the
2755
+ * Amazon Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are
2756
+ * not an MD5 digest of their object data.</p>
2757
+ * </li>
2758
+ * <li>
2759
+ * <p>If an object is created by either the Multipart Upload or Part Copy operation, the
2760
+ * ETag is not an MD5 digest, regardless of the method of encryption. If an object is
2761
+ * larger than 16 MB, the Amazon Web Services Management Console will upload or copy that object as a
2762
+ * Multipart Upload, and therefore the ETag will not be an MD5 digest.</p>
2763
+ * </li>
2764
+ * </ul>
2765
+ */
2766
+ ETag?: string;
2767
+ /**
2768
+ * <p>The algorithm that was used to create a checksum of the object.</p>
2769
+ */
2770
+ ChecksumAlgorithm?: (ChecksumAlgorithm | string)[];
2771
+ /**
2772
+ * <p>Size in bytes of the object</p>
2773
+ */
2774
+ Size?: number;
2775
+ /**
2776
+ * <p>The class of storage used to store the object.</p>
2777
+ */
2778
+ StorageClass?: ObjectStorageClass | string;
2779
+ /**
2780
+ * <p>The owner of the object</p>
2781
+ */
2782
+ Owner?: Owner;
2783
+ }
2784
+ /**
2785
+ * @public
2786
+ */
2787
+ export type ArchiveStatus = (typeof ArchiveStatus)[keyof typeof ArchiveStatus];
2788
+ /**
2789
+ * @public
2790
+ */
2791
+ export type ChecksumAlgorithm =
2792
+ (typeof ChecksumAlgorithm)[keyof typeof ChecksumAlgorithm];
2793
+ /**
2794
+ * @public
2795
+ */
2796
+ export type ChecksumMode = (typeof ChecksumMode)[keyof typeof ChecksumMode];
2797
+ /**
2798
+ * @public
2799
+ */
2800
+ export type EncodingType = (typeof EncodingType)[keyof typeof EncodingType];
2801
+ /**
2802
+ * @public
2803
+ */
2804
+ export type MetadataDirective =
2805
+ (typeof MetadataDirective)[keyof typeof MetadataDirective];
2806
+ /**
2807
+ * @public
2808
+ */
2809
+ export type ObjectCannedACL =
2810
+ (typeof ObjectCannedACL)[keyof typeof ObjectCannedACL];
2811
+ /**
2812
+ * @public
2813
+ */
2814
+ export type ObjectLockLegalHoldStatus =
2815
+ (typeof ObjectLockLegalHoldStatus)[keyof typeof ObjectLockLegalHoldStatus];
2816
+ /**
2817
+ * @public
2818
+ */
2819
+ export type ObjectLockMode =
2820
+ (typeof ObjectLockMode)[keyof typeof ObjectLockMode];
2821
+ /**
2822
+ * @public
2823
+ */
2824
+ export type ObjectStorageClass =
2825
+ (typeof ObjectStorageClass)[keyof typeof ObjectStorageClass];
2826
+ /**
2827
+ * @public
2828
+ *
2829
+ * The input for {@link PutObjectCommand}.
2830
+ */
2831
+ export type PutObjectCommandInputType = Omit<PutObjectRequest, 'Body'> & {
2832
+ /**
2833
+ * For *`PutObjectRequest["Body"]`*, see {@link PutObjectRequest.Body}.
2834
+ */
2835
+ Body?: PutObjectRequest['Body'] | string | Uint8Array | Buffer;
2836
+ };
2837
+ /**
2838
+ * @public
2839
+ */
2840
+ export type ReplicationStatus =
2841
+ (typeof ReplicationStatus)[keyof typeof ReplicationStatus];
2842
+ /**
2843
+ * @public
2844
+ */
2845
+ export type RequestCharged =
2846
+ (typeof RequestCharged)[keyof typeof RequestCharged];
2847
+ /**
2848
+ * @public
2849
+ */
2850
+ export type RequestPayer = (typeof RequestPayer)[keyof typeof RequestPayer];
2851
+ /**
2852
+ * @public
2853
+ */
2854
+ export type ServerSideEncryption =
2855
+ (typeof ServerSideEncryption)[keyof typeof ServerSideEncryption];
2856
+ /**
2857
+ * @public
2858
+ */
2859
+ export type StorageClass = (typeof StorageClass)[keyof typeof StorageClass];
2860
+ /**
2861
+ * @public
2862
+ */
2863
+ export type TaggingDirective =
2864
+ (typeof TaggingDirective)[keyof typeof TaggingDirective];
2865
+ /**
2866
+ * @public
2867
+ *
2868
+ * The input for {@link UploadPartCommand}.
2869
+ */
2870
+ export type UploadPartCommandInputType = Omit<UploadPartRequest, 'Body'> & {
2871
+ /**
2872
+ * For *`UploadPartRequest["Body"]`*, see {@link UploadPartRequest.Body}.
2873
+ */
2874
+ Body?: UploadPartRequest['Body'] | string | Uint8Array | Buffer;
2875
+ };
2876
+
2877
+ export {};