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