@aws-amplify/storage 6.6.5 → 6.6.6-storage-browser.4949269.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/dist/cjs/errors/constants.js +8 -0
  2. package/dist/cjs/errors/constants.js.map +1 -0
  3. package/dist/cjs/errors/types/validation.js +12 -0
  4. package/dist/cjs/errors/types/validation.js.map +1 -1
  5. package/dist/cjs/providers/s3/apis/downloadData.js +3 -3
  6. package/dist/cjs/providers/s3/apis/downloadData.js.map +1 -1
  7. package/dist/cjs/providers/s3/apis/internal/copy.js +38 -6
  8. package/dist/cjs/providers/s3/apis/internal/copy.js.map +1 -1
  9. package/dist/cjs/providers/s3/apis/internal/getProperties.js +3 -4
  10. package/dist/cjs/providers/s3/apis/internal/getProperties.js.map +1 -1
  11. package/dist/cjs/providers/s3/apis/internal/getUrl.js +3 -3
  12. package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
  13. package/dist/cjs/providers/s3/apis/internal/list.js +4 -4
  14. package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
  15. package/dist/cjs/providers/s3/apis/internal/remove.js +3 -4
  16. package/dist/cjs/providers/s3/apis/internal/remove.js.map +1 -1
  17. package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js +22 -2
  18. package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js.map +1 -1
  19. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js +3 -2
  20. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js.map +1 -1
  21. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js +19 -8
  22. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js.map +1 -1
  23. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js +20 -11
  24. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js.map +1 -1
  25. package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js +20 -7
  26. package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js.map +1 -1
  27. package/dist/cjs/providers/s3/apis/uploadData/validateObjectNotExists.js +25 -0
  28. package/dist/cjs/providers/s3/apis/uploadData/validateObjectNotExists.js.map +1 -0
  29. package/dist/cjs/providers/s3/utils/client/s3control/base.js +70 -0
  30. package/dist/cjs/providers/s3/utils/client/s3control/base.js.map +1 -0
  31. package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js +58 -0
  32. package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js.map +1 -0
  33. package/dist/cjs/providers/s3/utils/client/s3control/index.js +11 -0
  34. package/dist/cjs/providers/s3/utils/client/s3control/index.js.map +1 -0
  35. package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js +63 -0
  36. package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js.map +1 -0
  37. package/dist/cjs/providers/s3/utils/client/s3control/types.js.map +1 -0
  38. package/dist/cjs/providers/s3/utils/client/{abortMultipartUpload.js → s3data/abortMultipartUpload.js} +2 -2
  39. package/dist/cjs/providers/s3/utils/client/s3data/abortMultipartUpload.js.map +1 -0
  40. package/dist/cjs/providers/s3/utils/client/{base.js → s3data/base.js} +25 -3
  41. package/dist/cjs/providers/s3/utils/client/s3data/base.js.map +1 -0
  42. package/dist/cjs/providers/s3/utils/client/{completeMultipartUpload.js → s3data/completeMultipartUpload.js} +16 -11
  43. package/dist/cjs/providers/s3/utils/client/s3data/completeMultipartUpload.js.map +1 -0
  44. package/dist/cjs/providers/s3/utils/client/{copyObject.js → s3data/copyObject.js} +2 -2
  45. package/dist/cjs/providers/s3/utils/client/s3data/copyObject.js.map +1 -0
  46. package/dist/cjs/providers/s3/utils/client/{createMultipartUpload.js → s3data/createMultipartUpload.js} +8 -3
  47. package/dist/cjs/providers/s3/utils/client/s3data/createMultipartUpload.js.map +1 -0
  48. package/dist/cjs/providers/s3/utils/client/{deleteObject.js → s3data/deleteObject.js} +2 -2
  49. package/dist/cjs/providers/s3/utils/client/s3data/deleteObject.js.map +1 -0
  50. package/dist/cjs/providers/s3/utils/client/{getObject.js → s3data/getObject.js} +3 -3
  51. package/dist/cjs/providers/s3/utils/client/s3data/getObject.js.map +1 -0
  52. package/dist/cjs/providers/s3/utils/client/{headObject.js → s3data/headObject.js} +2 -2
  53. package/dist/cjs/providers/s3/utils/client/s3data/headObject.js.map +1 -0
  54. package/dist/cjs/providers/s3/utils/client/s3data/index.js.map +1 -0
  55. package/dist/cjs/providers/s3/utils/client/{listObjectsV2.js → s3data/listObjectsV2.js} +2 -2
  56. package/dist/cjs/providers/s3/utils/client/s3data/listObjectsV2.js.map +1 -0
  57. package/dist/cjs/providers/s3/utils/client/{listParts.js → s3data/listParts.js} +3 -2
  58. package/dist/cjs/providers/s3/utils/client/s3data/listParts.js.map +1 -0
  59. package/dist/cjs/providers/s3/utils/client/{putObject.js → s3data/putObject.js} +3 -2
  60. package/dist/cjs/providers/s3/utils/client/s3data/putObject.js.map +1 -0
  61. package/dist/cjs/providers/s3/utils/client/s3data/types.js +6 -0
  62. package/dist/cjs/providers/s3/utils/client/s3data/types.js.map +1 -0
  63. package/dist/cjs/providers/s3/utils/client/{uploadPart.js → s3data/uploadPart.js} +4 -3
  64. package/dist/cjs/providers/s3/utils/client/s3data/uploadPart.js.map +1 -0
  65. package/dist/cjs/providers/s3/utils/client/utils/createRetryDecider.js +57 -0
  66. package/dist/cjs/providers/s3/utils/client/utils/createRetryDecider.js.map +1 -0
  67. package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js +34 -1
  68. package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js.map +1 -1
  69. package/dist/cjs/providers/s3/utils/client/utils/index.js +4 -2
  70. package/dist/cjs/providers/s3/utils/client/utils/index.js.map +1 -1
  71. package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js +20 -6
  72. package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js.map +1 -1
  73. package/dist/cjs/providers/s3/utils/crc32.js +37 -0
  74. package/dist/cjs/providers/s3/utils/crc32.js.map +1 -0
  75. package/dist/cjs/providers/s3/utils/crc32.native.js +11 -0
  76. package/dist/cjs/providers/s3/utils/crc32.native.js.map +1 -0
  77. package/dist/cjs/providers/s3/utils/resolveIdentityId.js +14 -0
  78. package/dist/cjs/providers/s3/utils/resolveIdentityId.js.map +1 -0
  79. package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js +59 -13
  80. package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
  81. package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js +4 -1
  82. package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js.map +1 -1
  83. package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js +4 -1
  84. package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js.map +1 -1
  85. package/dist/cjs/storageBrowser/apis/constants.js +9 -0
  86. package/dist/cjs/storageBrowser/apis/constants.js.map +1 -0
  87. package/dist/cjs/storageBrowser/apis/getDataAccess.js +57 -0
  88. package/dist/cjs/storageBrowser/apis/getDataAccess.js.map +1 -0
  89. package/dist/cjs/storageBrowser/apis/listCallerAccessGrants.js +69 -0
  90. package/dist/cjs/storageBrowser/apis/listCallerAccessGrants.js.map +1 -0
  91. package/dist/cjs/storageBrowser/apis/types.js +6 -0
  92. package/dist/cjs/storageBrowser/apis/types.js.map +1 -0
  93. package/dist/cjs/storageBrowser/index.js +11 -0
  94. package/dist/cjs/storageBrowser/index.js.map +1 -0
  95. package/dist/cjs/storageBrowser/locationCredentialsStore/constants.js +9 -0
  96. package/dist/cjs/storageBrowser/locationCredentialsStore/constants.js.map +1 -0
  97. package/dist/cjs/storageBrowser/locationCredentialsStore/create.js +36 -0
  98. package/dist/cjs/storageBrowser/locationCredentialsStore/create.js.map +1 -0
  99. package/dist/cjs/storageBrowser/locationCredentialsStore/index.js +9 -0
  100. package/dist/cjs/storageBrowser/locationCredentialsStore/index.js.map +1 -0
  101. package/dist/cjs/storageBrowser/locationCredentialsStore/registry.js +58 -0
  102. package/dist/cjs/storageBrowser/locationCredentialsStore/registry.js.map +1 -0
  103. package/dist/cjs/storageBrowser/locationCredentialsStore/store.js +99 -0
  104. package/dist/cjs/storageBrowser/locationCredentialsStore/store.js.map +1 -0
  105. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.js +15 -0
  106. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.js.map +1 -0
  107. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.js +29 -0
  108. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.js.map +1 -0
  109. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js +32 -0
  110. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js.map +1 -0
  111. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/index.js +9 -0
  112. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/index.js.map +1 -0
  113. package/dist/cjs/storageBrowser/types.js +6 -0
  114. package/dist/cjs/storageBrowser/types.js.map +1 -0
  115. package/dist/esm/errors/constants.d.ts +1 -0
  116. package/dist/esm/errors/constants.mjs +6 -0
  117. package/dist/esm/errors/constants.mjs.map +1 -0
  118. package/dist/esm/errors/types/validation.d.ts +4 -1
  119. package/dist/esm/errors/types/validation.mjs +12 -0
  120. package/dist/esm/errors/types/validation.mjs.map +1 -1
  121. package/dist/esm/providers/s3/apis/downloadData.mjs +13 -13
  122. package/dist/esm/providers/s3/apis/downloadData.mjs.map +1 -1
  123. package/dist/esm/providers/s3/apis/internal/copy.mjs +48 -16
  124. package/dist/esm/providers/s3/apis/internal/copy.mjs.map +1 -1
  125. package/dist/esm/providers/s3/apis/internal/getProperties.mjs +13 -14
  126. package/dist/esm/providers/s3/apis/internal/getProperties.mjs.map +1 -1
  127. package/dist/esm/providers/s3/apis/internal/getUrl.mjs +13 -13
  128. package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
  129. package/dist/esm/providers/s3/apis/internal/list.mjs +13 -13
  130. package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
  131. package/dist/esm/providers/s3/apis/internal/remove.mjs +13 -14
  132. package/dist/esm/providers/s3/apis/internal/remove.mjs.map +1 -1
  133. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.d.ts +2 -1
  134. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs +32 -12
  135. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs.map +1 -1
  136. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.d.ts +3 -1
  137. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs +13 -12
  138. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs.map +1 -1
  139. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs +27 -16
  140. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs.map +1 -1
  141. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.d.ts +3 -2
  142. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs +27 -18
  143. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs.map +1 -1
  144. package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs +30 -17
  145. package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs.map +1 -1
  146. package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.d.ts +3 -0
  147. package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.mjs +34 -0
  148. package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.mjs.map +1 -0
  149. package/dist/esm/providers/s3/types/inputs.d.ts +5 -1
  150. package/dist/esm/providers/s3/types/options.d.ts +24 -1
  151. package/dist/esm/providers/s3/utils/client/s3control/base.d.ts +56 -0
  152. package/dist/esm/providers/s3/utils/client/s3control/base.mjs +74 -0
  153. package/dist/esm/providers/s3/utils/client/s3control/base.mjs.map +1 -0
  154. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.d.ts +26 -0
  155. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs +63 -0
  156. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs.map +1 -0
  157. package/dist/esm/providers/s3/utils/client/s3control/index.d.ts +2 -0
  158. package/dist/esm/providers/s3/utils/client/s3control/index.mjs +3 -0
  159. package/dist/esm/providers/s3/utils/client/s3control/index.mjs.map +1 -0
  160. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.d.ts +26 -0
  161. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs +67 -0
  162. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs.map +1 -0
  163. package/dist/esm/providers/s3/utils/client/s3control/types.d.ts +188 -0
  164. package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.d.ts → s3data/abortMultipartUpload.d.ts} +4 -4
  165. package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.mjs → s3data/abortMultipartUpload.mjs} +5 -6
  166. package/dist/esm/providers/s3/utils/client/s3data/abortMultipartUpload.mjs.map +1 -0
  167. package/dist/esm/providers/s3/utils/client/{base.d.ts → s3data/base.d.ts} +23 -1
  168. package/dist/esm/providers/s3/utils/client/{base.mjs → s3data/base.mjs} +29 -6
  169. package/dist/esm/providers/s3/utils/client/s3data/base.mjs.map +1 -0
  170. package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.d.ts → s3data/completeMultipartUpload.d.ts} +6 -6
  171. package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.mjs → s3data/completeMultipartUpload.mjs} +19 -14
  172. package/dist/esm/providers/s3/utils/client/s3data/completeMultipartUpload.mjs.map +1 -0
  173. package/dist/esm/providers/s3/utils/client/{copyObject.d.ts → s3data/copyObject.d.ts} +4 -4
  174. package/dist/esm/providers/s3/utils/client/{copyObject.mjs → s3data/copyObject.mjs} +6 -6
  175. package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs.map +1 -0
  176. package/dist/esm/providers/s3/utils/client/{createMultipartUpload.d.ts → s3data/createMultipartUpload.d.ts} +4 -4
  177. package/dist/esm/providers/s3/utils/client/{createMultipartUpload.mjs → s3data/createMultipartUpload.mjs} +12 -7
  178. package/dist/esm/providers/s3/utils/client/s3data/createMultipartUpload.mjs.map +1 -0
  179. package/dist/esm/providers/s3/utils/client/{deleteObject.d.ts → s3data/deleteObject.d.ts} +4 -4
  180. package/dist/esm/providers/s3/utils/client/{deleteObject.mjs → s3data/deleteObject.mjs} +5 -6
  181. package/dist/esm/providers/s3/utils/client/s3data/deleteObject.mjs.map +1 -0
  182. package/dist/esm/providers/s3/utils/client/{getObject.d.ts → s3data/getObject.d.ts} +4 -4
  183. package/dist/esm/providers/s3/utils/client/{getObject.mjs → s3data/getObject.mjs} +7 -8
  184. package/dist/esm/providers/s3/utils/client/s3data/getObject.mjs.map +1 -0
  185. package/dist/esm/providers/s3/utils/client/{headObject.d.ts → s3data/headObject.d.ts} +4 -4
  186. package/dist/esm/providers/s3/utils/client/{headObject.mjs → s3data/headObject.mjs} +5 -6
  187. package/dist/esm/providers/s3/utils/client/s3data/headObject.mjs.map +1 -0
  188. package/dist/esm/providers/s3/utils/client/{listObjectsV2.d.ts → s3data/listObjectsV2.d.ts} +4 -4
  189. package/dist/esm/providers/s3/utils/client/{listObjectsV2.mjs → s3data/listObjectsV2.mjs} +6 -6
  190. package/dist/esm/providers/s3/utils/client/s3data/listObjectsV2.mjs.map +1 -0
  191. package/dist/esm/providers/s3/utils/client/{listParts.d.ts → s3data/listParts.d.ts} +4 -4
  192. package/dist/esm/providers/s3/utils/client/{listParts.mjs → s3data/listParts.mjs} +7 -6
  193. package/dist/esm/providers/s3/utils/client/s3data/listParts.mjs.map +1 -0
  194. package/dist/esm/providers/s3/utils/client/{putObject.d.ts → s3data/putObject.d.ts} +5 -5
  195. package/dist/esm/providers/s3/utils/client/{putObject.mjs → s3data/putObject.mjs} +6 -6
  196. package/dist/esm/providers/s3/utils/client/s3data/putObject.mjs.map +1 -0
  197. package/dist/esm/providers/s3/utils/client/s3data/types.mjs +2 -0
  198. package/dist/esm/providers/s3/utils/client/s3data/types.mjs.map +1 -0
  199. package/dist/esm/providers/s3/utils/client/{uploadPart.d.ts → s3data/uploadPart.d.ts} +5 -5
  200. package/dist/esm/providers/s3/utils/client/{uploadPart.mjs → s3data/uploadPart.mjs} +7 -7
  201. package/dist/esm/providers/s3/utils/client/s3data/uploadPart.mjs.map +1 -0
  202. package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.d.ts +22 -0
  203. package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.mjs +55 -0
  204. package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.mjs.map +1 -0
  205. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.d.ts +17 -0
  206. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs +33 -1
  207. package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs.map +1 -1
  208. package/dist/esm/providers/s3/utils/client/utils/index.d.ts +2 -1
  209. package/dist/esm/providers/s3/utils/client/utils/index.mjs +2 -1
  210. package/dist/esm/providers/s3/utils/client/utils/index.mjs.map +1 -1
  211. package/dist/esm/providers/s3/utils/client/utils/parsePayload.d.ts +16 -1
  212. package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs +19 -5
  213. package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs.map +1 -1
  214. package/dist/esm/providers/s3/utils/crc32.d.ts +6 -0
  215. package/dist/esm/providers/s3/utils/crc32.mjs +34 -0
  216. package/dist/esm/providers/s3/utils/crc32.mjs.map +1 -0
  217. package/dist/esm/providers/s3/utils/crc32.native.d.ts +2 -0
  218. package/dist/esm/providers/s3/utils/crc32.native.mjs +8 -0
  219. package/dist/esm/providers/s3/utils/crc32.native.mjs.map +1 -0
  220. package/dist/esm/providers/s3/utils/resolveIdentityId.d.ts +1 -0
  221. package/dist/esm/providers/s3/utils/resolveIdentityId.mjs +12 -0
  222. package/dist/esm/providers/s3/utils/resolveIdentityId.mjs.map +1 -0
  223. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.d.ts +10 -2
  224. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs +57 -11
  225. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
  226. package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs +4 -1
  227. package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs.map +1 -1
  228. package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs +4 -1
  229. package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs.map +1 -1
  230. package/dist/esm/storageBrowser/apis/constants.d.ts +2 -0
  231. package/dist/esm/storageBrowser/apis/constants.mjs +7 -0
  232. package/dist/esm/storageBrowser/apis/constants.mjs.map +1 -0
  233. package/dist/esm/storageBrowser/apis/getDataAccess.d.ts +2 -0
  234. package/dist/esm/storageBrowser/apis/getDataAccess.mjs +57 -0
  235. package/dist/esm/storageBrowser/apis/getDataAccess.mjs.map +1 -0
  236. package/dist/esm/storageBrowser/apis/listCallerAccessGrants.d.ts +2 -0
  237. package/dist/esm/storageBrowser/apis/listCallerAccessGrants.mjs +69 -0
  238. package/dist/esm/storageBrowser/apis/listCallerAccessGrants.mjs.map +1 -0
  239. package/dist/esm/storageBrowser/apis/types.d.ts +18 -0
  240. package/dist/esm/storageBrowser/apis/types.mjs +2 -0
  241. package/dist/esm/storageBrowser/apis/types.mjs.map +1 -0
  242. package/dist/esm/storageBrowser/index.d.ts +6 -0
  243. package/dist/esm/storageBrowser/index.mjs +3 -0
  244. package/dist/esm/storageBrowser/index.mjs.map +1 -0
  245. package/dist/esm/storageBrowser/locationCredentialsStore/constants.d.ts +2 -0
  246. package/dist/esm/storageBrowser/locationCredentialsStore/constants.mjs +7 -0
  247. package/dist/esm/storageBrowser/locationCredentialsStore/constants.mjs.map +1 -0
  248. package/dist/esm/storageBrowser/locationCredentialsStore/create.d.ts +2 -0
  249. package/dist/esm/storageBrowser/locationCredentialsStore/create.mjs +34 -0
  250. package/dist/esm/storageBrowser/locationCredentialsStore/create.mjs.map +1 -0
  251. package/dist/esm/storageBrowser/locationCredentialsStore/index.d.ts +1 -0
  252. package/dist/esm/storageBrowser/locationCredentialsStore/index.mjs +2 -0
  253. package/dist/esm/storageBrowser/locationCredentialsStore/index.mjs.map +1 -0
  254. package/dist/esm/storageBrowser/locationCredentialsStore/registry.d.ts +23 -0
  255. package/dist/esm/storageBrowser/locationCredentialsStore/registry.mjs +54 -0
  256. package/dist/esm/storageBrowser/locationCredentialsStore/registry.mjs.map +1 -0
  257. package/dist/esm/storageBrowser/locationCredentialsStore/store.d.ts +35 -0
  258. package/dist/esm/storageBrowser/locationCredentialsStore/store.mjs +95 -0
  259. package/dist/esm/storageBrowser/locationCredentialsStore/store.mjs.map +1 -0
  260. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.d.ts +8 -0
  261. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.mjs +13 -0
  262. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.mjs.map +1 -0
  263. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.d.ts +8 -0
  264. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs +27 -0
  265. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs.map +1 -0
  266. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.d.ts +19 -0
  267. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs +30 -0
  268. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs.map +1 -0
  269. package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.d.ts +1 -0
  270. package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.mjs +2 -0
  271. package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.mjs.map +1 -0
  272. package/dist/esm/storageBrowser/types.d.ts +92 -0
  273. package/dist/esm/storageBrowser/types.mjs +2 -0
  274. package/dist/esm/storageBrowser/types.mjs.map +1 -0
  275. package/package.json +117 -107
  276. package/src/errors/constants.ts +4 -0
  277. package/src/errors/types/validation.ts +12 -0
  278. package/src/providers/s3/apis/downloadData.ts +2 -2
  279. package/src/providers/s3/apis/internal/copy.ts +42 -12
  280. package/src/providers/s3/apis/internal/getProperties.ts +2 -3
  281. package/src/providers/s3/apis/internal/getUrl.ts +2 -2
  282. package/src/providers/s3/apis/internal/list.ts +3 -3
  283. package/src/providers/s3/apis/internal/remove.ts +2 -3
  284. package/src/providers/s3/apis/uploadData/multipart/initialUpload.ts +30 -1
  285. package/src/providers/s3/apis/uploadData/multipart/uploadCache.ts +4 -1
  286. package/src/providers/s3/apis/uploadData/multipart/uploadHandlers.ts +36 -17
  287. package/src/providers/s3/apis/uploadData/multipart/uploadPartExecutor.ts +23 -7
  288. package/src/providers/s3/apis/uploadData/putObjectJob.ts +22 -5
  289. package/src/providers/s3/apis/uploadData/validateObjectNotExists.ts +25 -0
  290. package/src/providers/s3/types/inputs.ts +7 -1
  291. package/src/providers/s3/types/options.ts +35 -1
  292. package/src/providers/s3/utils/client/s3control/base.ts +97 -0
  293. package/src/providers/s3/utils/client/s3control/getDataAccess.ts +96 -0
  294. package/src/providers/s3/utils/client/s3control/index.ts +13 -0
  295. package/src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts +107 -0
  296. package/src/providers/s3/utils/client/s3control/types.ts +216 -0
  297. package/src/providers/s3/utils/client/{abortMultipartUpload.ts → s3data/abortMultipartUpload.ts} +4 -4
  298. package/src/providers/s3/utils/client/{base.ts → s3data/base.ts} +26 -3
  299. package/src/providers/s3/utils/client/{completeMultipartUpload.ts → s3data/completeMultipartUpload.ts} +28 -19
  300. package/src/providers/s3/utils/client/{copyObject.ts → s3data/copyObject.ts} +4 -4
  301. package/src/providers/s3/utils/client/{createMultipartUpload.ts → s3data/createMultipartUpload.ts} +15 -9
  302. package/src/providers/s3/utils/client/{deleteObject.ts → s3data/deleteObject.ts} +7 -7
  303. package/src/providers/s3/utils/client/{getObject.ts → s3data/getObject.ts} +13 -9
  304. package/src/providers/s3/utils/client/{headObject.ts → s3data/headObject.ts} +4 -4
  305. package/src/providers/s3/utils/client/{listObjectsV2.ts → s3data/listObjectsV2.ts} +7 -7
  306. package/src/providers/s3/utils/client/{listParts.ts → s3data/listParts.ts} +9 -8
  307. package/src/providers/s3/utils/client/{putObject.ts → s3data/putObject.ts} +6 -4
  308. package/src/providers/s3/utils/client/{uploadPart.ts → s3data/uploadPart.ts} +13 -6
  309. package/src/providers/s3/utils/client/utils/createRetryDecider.ts +96 -0
  310. package/src/providers/s3/utils/client/utils/deserializeHelpers.ts +41 -0
  311. package/src/providers/s3/utils/client/utils/index.ts +2 -1
  312. package/src/providers/s3/utils/client/utils/parsePayload.ts +36 -18
  313. package/src/providers/s3/utils/crc32.native.ts +11 -0
  314. package/src/providers/s3/utils/crc32.ts +51 -0
  315. package/src/providers/s3/utils/resolveIdentityId.ts +11 -0
  316. package/src/providers/s3/utils/resolveS3ConfigAndInput.ts +109 -14
  317. package/src/providers/s3/utils/validateStorageOperationInput.ts +5 -1
  318. package/src/providers/s3/utils/validateStorageOperationInputWithPrefix.ts +5 -1
  319. package/src/storageBrowser/apis/constants.ts +5 -0
  320. package/src/storageBrowser/apis/getDataAccess.ts +79 -0
  321. package/src/storageBrowser/apis/listCallerAccessGrants.ts +94 -0
  322. package/src/storageBrowser/apis/types.ts +33 -0
  323. package/src/storageBrowser/index.ts +25 -0
  324. package/src/storageBrowser/locationCredentialsStore/constants.ts +5 -0
  325. package/src/storageBrowser/locationCredentialsStore/create.ts +54 -0
  326. package/src/storageBrowser/locationCredentialsStore/index.ts +4 -0
  327. package/src/storageBrowser/locationCredentialsStore/registry.ts +88 -0
  328. package/src/storageBrowser/locationCredentialsStore/store.ts +161 -0
  329. package/src/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.ts +21 -0
  330. package/src/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.ts +40 -0
  331. package/src/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.ts +53 -0
  332. package/src/storageBrowser/managedAuthConfigAdapter/index.ts +8 -0
  333. package/src/storageBrowser/types.ts +117 -0
  334. package/dist/cjs/providers/s3/utils/client/abortMultipartUpload.js.map +0 -1
  335. package/dist/cjs/providers/s3/utils/client/base.js.map +0 -1
  336. package/dist/cjs/providers/s3/utils/client/completeMultipartUpload.js.map +0 -1
  337. package/dist/cjs/providers/s3/utils/client/copyObject.js.map +0 -1
  338. package/dist/cjs/providers/s3/utils/client/createMultipartUpload.js.map +0 -1
  339. package/dist/cjs/providers/s3/utils/client/deleteObject.js.map +0 -1
  340. package/dist/cjs/providers/s3/utils/client/getObject.js.map +0 -1
  341. package/dist/cjs/providers/s3/utils/client/headObject.js.map +0 -1
  342. package/dist/cjs/providers/s3/utils/client/index.js.map +0 -1
  343. package/dist/cjs/providers/s3/utils/client/listObjectsV2.js.map +0 -1
  344. package/dist/cjs/providers/s3/utils/client/listParts.js.map +0 -1
  345. package/dist/cjs/providers/s3/utils/client/putObject.js.map +0 -1
  346. package/dist/cjs/providers/s3/utils/client/types.js.map +0 -1
  347. package/dist/cjs/providers/s3/utils/client/uploadPart.js.map +0 -1
  348. package/dist/esm/providers/s3/utils/client/abortMultipartUpload.mjs.map +0 -1
  349. package/dist/esm/providers/s3/utils/client/base.mjs.map +0 -1
  350. package/dist/esm/providers/s3/utils/client/completeMultipartUpload.mjs.map +0 -1
  351. package/dist/esm/providers/s3/utils/client/copyObject.mjs.map +0 -1
  352. package/dist/esm/providers/s3/utils/client/createMultipartUpload.mjs.map +0 -1
  353. package/dist/esm/providers/s3/utils/client/deleteObject.mjs.map +0 -1
  354. package/dist/esm/providers/s3/utils/client/getObject.mjs.map +0 -1
  355. package/dist/esm/providers/s3/utils/client/headObject.mjs.map +0 -1
  356. package/dist/esm/providers/s3/utils/client/listObjectsV2.mjs.map +0 -1
  357. package/dist/esm/providers/s3/utils/client/listParts.mjs.map +0 -1
  358. package/dist/esm/providers/s3/utils/client/putObject.mjs.map +0 -1
  359. package/dist/esm/providers/s3/utils/client/uploadPart.mjs.map +0 -1
  360. /package/dist/cjs/providers/s3/utils/client/{types.js → s3control/types.js} +0 -0
  361. /package/dist/cjs/providers/s3/utils/client/{index.js → s3data/index.js} +0 -0
  362. /package/dist/esm/providers/s3/utils/client/{types.mjs → s3control/types.mjs} +0 -0
  363. /package/dist/esm/providers/s3/utils/client/{types.mjs.map → s3control/types.mjs.map} +0 -0
  364. /package/dist/esm/providers/s3/utils/client/{index.d.ts → s3data/index.d.ts} +0 -0
  365. /package/dist/esm/providers/s3/utils/client/{index.mjs → s3data/index.mjs} +0 -0
  366. /package/dist/esm/providers/s3/utils/client/{index.mjs.map → s3data/index.mjs.map} +0 -0
  367. /package/dist/esm/providers/s3/utils/client/{types.d.ts → s3data/types.d.ts} +0 -0
  368. /package/src/providers/s3/utils/client/{index.ts → s3data/index.ts} +0 -0
  369. /package/src/providers/s3/utils/client/{types.ts → s3data/types.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDataAccess.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3control/getDataAccess.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { assignStringVariables, buildStorageServiceError, deserializeTimestamp, map, parseXmlBody, s3TransferHandler, } from '../utils';\nimport { defaultConfig, parseXmlError } from './base';\nconst getDataAccessSerializer = (input, endpoint) => {\n const headers = assignStringVariables({\n 'x-amz-account-id': input.AccountId,\n });\n const query = assignStringVariables({\n durationSeconds: input.DurationSeconds,\n permission: input.Permission,\n privilege: input.Privilege,\n target: input.Target,\n targetType: input.TargetType,\n });\n const url = new AmplifyUrl(endpoint.url.toString());\n url.search = new AmplifyUrlSearchParams(query).toString();\n // Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html\n url.pathname = '/v20180820/accessgrantsinstance/dataaccess';\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst getDataAccessDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBody(response);\n const contents = map(parsed, {\n Credentials: ['Credentials', deserializeCredentials],\n MatchedGrantTarget: 'MatchedGrantTarget',\n });\n return {\n $metadata: parseMetadata(response),\n ...contents,\n };\n }\n};\nconst deserializeCredentials = (output) => map(output, {\n AccessKeyId: 'AccessKeyId',\n Expiration: ['Expiration', deserializeTimestamp],\n SecretAccessKey: 'SecretAccessKey',\n SessionToken: 'SessionToken',\n});\nexport const getDataAccess = composeServiceApi(s3TransferHandler, getDataAccessSerializer, getDataAccessDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AACrD,IAAI,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAC1C,QAAQ,kBAAkB,EAAE,KAAK,CAAC,SAAS;AAC3C,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,KAAK,GAAG,qBAAqB,CAAC;AACxC,QAAQ,eAAe,EAAE,KAAK,CAAC,eAAe;AAC9C,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,QAAQ,SAAS,EAAE,KAAK,CAAC,SAAS;AAClC,QAAQ,MAAM,EAAE,KAAK,CAAC,MAAM;AAC5B,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC9D;AACA,IAAI,GAAG,CAAC,QAAQ,GAAG,4CAA4C,CAAC;AAChE,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,yBAAyB,GAAG,OAAO,QAAQ,KAAK;AACtD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AACpD,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;AACrC,YAAY,WAAW,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;AAChE,YAAY,kBAAkB,EAAE,oBAAoB;AACpD,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,YAAY,GAAG,QAAQ;AACvB,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;AACvD,IAAI,WAAW,EAAE,aAAa;AAC9B,IAAI,UAAU,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC;AACpD,IAAI,eAAe,EAAE,iBAAiB;AACtC,IAAI,YAAY,EAAE,cAAc;AAChC,CAAC,CAAC,CAAC;AACS,MAAC,aAAa,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
@@ -0,0 +1,2 @@
1
+ export { getDataAccess, GetDataAccessInput, GetDataAccessOutput, } from '../s3control/getDataAccess';
2
+ export { listCallerAccessGrants, ListCallerAccessGrantsInput, ListCallerAccessGrantsOutput, } from '../s3control/listCallerAccessGrants';
@@ -0,0 +1,3 @@
1
+ export { getDataAccess } from './getDataAccess.mjs';
2
+ export { listCallerAccessGrants } from './listCallerAccessGrants.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,26 @@
1
+ import { Endpoint, HttpResponse } from '@aws-amplify/core/internals/aws-client-utils';
2
+ import type { ListCallerAccessGrantsCommandInput, ListCallerAccessGrantsCommandOutput } from './types';
3
+ export type ListCallerAccessGrantsInput = ListCallerAccessGrantsCommandInput;
4
+ export type ListCallerAccessGrantsOutput = ListCallerAccessGrantsCommandOutput;
5
+ export declare const listCallerAccessGrants: (config: {
6
+ responseType?: "blob" | "text" | undefined;
7
+ service?: string | undefined;
8
+ endpointResolver?: (((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) & ((options: import("./base").S3EndpointResolverOptions, apiInput?: {
9
+ AccountId?: string | undefined;
10
+ } | undefined) => {
11
+ url: URL;
12
+ })) | undefined;
13
+ retryDecider?: (((response?: HttpResponse | undefined, error?: unknown, middlewareContext?: import("@aws-amplify/core/internals/aws-client-utils").MiddlewareContext | undefined) => Promise<import("@aws-amplify/core/internals/aws-client-utils").RetryDeciderOutput>) & import("../utils/createRetryDecider").RetryDecider) | undefined;
14
+ computeDelay?: ((attempt: number) => number) | undefined;
15
+ userAgentValue?: string | undefined;
16
+ uriEscapePath?: boolean | undefined;
17
+ } & {
18
+ credentials: import("@aws-amplify/core/internals/aws-client-utils").Credentials | ((options?: import("@aws-amplify/core/internals/aws-client-utils").CredentialsProviderOptions | undefined) => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>);
19
+ region: string;
20
+ onDownloadProgress?: ((event: import("../../../../..").TransferProgressEvent) => void) | undefined;
21
+ onUploadProgress?: ((event: import("../../../../..").TransferProgressEvent) => void) | undefined;
22
+ abortSignal?: AbortSignal | undefined;
23
+ customEndpoint?: string | undefined;
24
+ userAgentHeader?: string | undefined;
25
+ maxAttempts?: number | undefined;
26
+ }, input: import("./types").ListCallerAccessGrantsRequest) => Promise<ListCallerAccessGrantsCommandOutput>;
@@ -0,0 +1,67 @@
1
+ import { parseMetadata } from '@aws-amplify/core/internals/aws-client-utils';
2
+ import { AmplifyUrl, AmplifyUrlSearchParams } from '@aws-amplify/core/internals/utils';
3
+ import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
4
+ import { parseXmlBody } from '../utils/parsePayload.mjs';
5
+ import { s3TransferHandler } from '../runtime/s3TransferHandler/fetch.mjs';
6
+ import 'fast-xml-parser';
7
+ import '../runtime/s3TransferHandler/xhr.mjs';
8
+ import 'buffer';
9
+ import { buildStorageServiceError, map, emptyArrayGuard, createStringEnumDeserializer } from '../utils/deserializeHelpers.mjs';
10
+ import { assignStringVariables } from '../utils/serializeHelpers.mjs';
11
+ import { defaultConfig, parseXmlError } from './base.mjs';
12
+
13
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
14
+ // SPDX-License-Identifier: Apache-2.0
15
+ const listCallerAccessGrantsSerializer = (input, endpoint) => {
16
+ const headers = assignStringVariables({
17
+ 'x-amz-account-id': input.AccountId,
18
+ });
19
+ const query = assignStringVariables({
20
+ grantscope: input.GrantScope,
21
+ maxResults: input.MaxResults,
22
+ nextToken: input.NextToken,
23
+ });
24
+ const url = new AmplifyUrl(endpoint.url.toString());
25
+ url.search = new AmplifyUrlSearchParams(query).toString();
26
+ // Ref: NA
27
+ url.pathname = '/v20180820/accessgrantsinstance/caller/grants';
28
+ return {
29
+ method: 'GET',
30
+ headers,
31
+ url,
32
+ };
33
+ };
34
+ const listCallerAccessGrantsDeserializer = async (response) => {
35
+ if (response.statusCode >= 300) {
36
+ // error is always set when statusCode >= 300
37
+ const error = (await parseXmlError(response));
38
+ throw buildStorageServiceError(error, response.statusCode);
39
+ }
40
+ else {
41
+ const parsed = await parseXmlBody(response);
42
+ const contents = map(parsed, {
43
+ CallerAccessGrantsList: [
44
+ 'CallerAccessGrantsList',
45
+ value => emptyArrayGuard(value.AccessGrant, deserializeAccessGrantsList),
46
+ ],
47
+ NextToken: 'NextToken',
48
+ });
49
+ return {
50
+ $metadata: parseMetadata(response),
51
+ ...contents,
52
+ };
53
+ }
54
+ };
55
+ const deserializeAccessGrantsList = (output) => output.map(deserializeCallerAccessGrant);
56
+ const deserializeCallerAccessGrant = (output) => map(output, {
57
+ ApplicationArn: 'ApplicationArn',
58
+ GrantScope: 'GrantScope',
59
+ Permission: [
60
+ 'Permission',
61
+ createStringEnumDeserializer(['READ', 'READWRITE', 'WRITE'], 'Permission'),
62
+ ],
63
+ });
64
+ const listCallerAccessGrants = composeServiceApi(s3TransferHandler, listCallerAccessGrantsSerializer, listCallerAccessGrantsDeserializer, { ...defaultConfig, responseType: 'text' });
65
+
66
+ export { listCallerAccessGrants };
67
+ //# sourceMappingURL=listCallerAccessGrants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listCallerAccessGrants.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { assignStringVariables, buildStorageServiceError, emptyArrayGuard, map, parseXmlBody, s3TransferHandler, } from '../utils';\nimport { createStringEnumDeserializer } from '../utils/deserializeHelpers';\nimport { defaultConfig, parseXmlError } from './base';\nconst listCallerAccessGrantsSerializer = (input, endpoint) => {\n const headers = assignStringVariables({\n 'x-amz-account-id': input.AccountId,\n });\n const query = assignStringVariables({\n grantscope: input.GrantScope,\n maxResults: input.MaxResults,\n nextToken: input.NextToken,\n });\n const url = new AmplifyUrl(endpoint.url.toString());\n url.search = new AmplifyUrlSearchParams(query).toString();\n // Ref: NA\n url.pathname = '/v20180820/accessgrantsinstance/caller/grants';\n return {\n method: 'GET',\n headers,\n url,\n };\n};\nconst listCallerAccessGrantsDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBody(response);\n const contents = map(parsed, {\n CallerAccessGrantsList: [\n 'CallerAccessGrantsList',\n value => emptyArrayGuard(value.AccessGrant, deserializeAccessGrantsList),\n ],\n NextToken: 'NextToken',\n });\n return {\n $metadata: parseMetadata(response),\n ...contents,\n };\n }\n};\nconst deserializeAccessGrantsList = (output) => output.map(deserializeCallerAccessGrant);\nconst deserializeCallerAccessGrant = (output) => map(output, {\n ApplicationArn: 'ApplicationArn',\n GrantScope: 'GrantScope',\n Permission: [\n 'Permission',\n createStringEnumDeserializer(['READ', 'READWRITE', 'WRITE'], 'Permission'),\n ],\n});\nexport const listCallerAccessGrants = composeServiceApi(s3TransferHandler, listCallerAccessGrantsSerializer, listCallerAccessGrantsDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAOA,MAAM,gCAAgC,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AAC9D,IAAI,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAC1C,QAAQ,kBAAkB,EAAE,KAAK,CAAC,SAAS;AAC3C,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,KAAK,GAAG,qBAAqB,CAAC;AACxC,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,QAAQ,UAAU,EAAE,KAAK,CAAC,UAAU;AACpC,QAAQ,SAAS,EAAE,KAAK,CAAC,SAAS;AAClC,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC9D;AACA,IAAI,GAAG,CAAC,QAAQ,GAAG,+CAA+C,CAAC;AACnE,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,kCAAkC,GAAG,OAAO,QAAQ,KAAK;AAC/D,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;AACpD,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;AACrC,YAAY,sBAAsB,EAAE;AACpC,gBAAgB,wBAAwB;AACxC,gBAAgB,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,2BAA2B,CAAC;AACxF,aAAa;AACb,YAAY,SAAS,EAAE,WAAW;AAClC,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,YAAY,GAAG,QAAQ;AACvB,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACF,MAAM,2BAA2B,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AACzF,MAAM,4BAA4B,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;AAC7D,IAAI,cAAc,EAAE,gBAAgB;AACpC,IAAI,UAAU,EAAE,YAAY;AAC5B,IAAI,UAAU,EAAE;AAChB,QAAQ,YAAY;AACpB,QAAQ,4BAA4B,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC;AAClF,KAAK;AACL,CAAC,CAAC,CAAC;AACS,MAAC,sBAAsB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,kCAAkC,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
@@ -0,0 +1,188 @@
1
+ import { MetadataBearer as __MetadataBearer } from '@aws-sdk/types';
2
+ declare const Permission: {
3
+ readonly READ: 'READ';
4
+ readonly READWRITE: 'READWRITE';
5
+ readonly WRITE: 'WRITE';
6
+ };
7
+ declare const Privilege: {
8
+ readonly Default: 'Default';
9
+ readonly Minimal: 'Minimal';
10
+ };
11
+ declare const S3PrefixType: {
12
+ readonly Object: 'Object';
13
+ };
14
+ /**
15
+ * <p>The Amazon Web Services Security Token Service temporary credential that S3 Access Grants vends to grantees and client applications. </p>
16
+ * @public
17
+ */
18
+ export interface Credentials {
19
+ /**
20
+ * <p>The unique access key ID of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications. </p>
21
+ * @public
22
+ */
23
+ AccessKeyId?: string;
24
+ /**
25
+ * <p>The secret access key of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications. </p>
26
+ * @public
27
+ */
28
+ SecretAccessKey?: string;
29
+ /**
30
+ * <p>The Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications. </p>
31
+ * @public
32
+ * @public
33
+ *
34
+ * The input for {@link ListCallerAccessGrantsCommand}.
35
+ * @public
36
+ *
37
+ * The input for {@link ListCallerAccessGrantsCommand}.
38
+ */
39
+ SessionToken?: string;
40
+ /**
41
+ * <p>The expiration date and time of the temporary credential that S3 Access Grants vends to grantees and client applications. </p>
42
+ * @public
43
+ * @public
44
+ *
45
+ * The output of {@link ListCallerAccessGrantsCommand}.
46
+ * @public
47
+ *
48
+ * The output of {@link ListCallerAccessGrantsCommand}.
49
+ */
50
+ Expiration?: Date;
51
+ }
52
+ /**
53
+ * @public
54
+ *
55
+ * The input for {@link GetDataAccessCommand}.
56
+ */
57
+ export type GetDataAccessCommandInput = GetDataAccessRequest;
58
+ /**
59
+ * @public
60
+ *
61
+ * The output of {@link GetDataAccessCommand}.
62
+ */
63
+ export interface GetDataAccessCommandOutput extends GetDataAccessResult, __MetadataBearer {
64
+ }
65
+ /**
66
+ * @public
67
+ */
68
+ export interface GetDataAccessRequest {
69
+ /**
70
+ * <p>The ID of the Amazon Web Services account that is making this request.</p>
71
+ * @public
72
+ */
73
+ AccountId?: string;
74
+ /**
75
+ * <p>The S3 URI path of the data to which you are requesting temporary access credentials. If the requesting account has an access grant for this data, S3 Access Grants vends temporary access credentials in the response.</p>
76
+ * @public
77
+ */
78
+ Target: string | undefined;
79
+ /**
80
+ * <p>The type of permission granted to your S3 data, which can be set to one of the following values:</p>
81
+ * <ul>
82
+ * <li>
83
+ * <p>
84
+ * <code>READ</code> – Grant read-only access to the S3 data.</p>
85
+ * </li>
86
+ * <li>
87
+ * <p>
88
+ * <code>WRITE</code> – Grant write-only access to the S3 data.</p>
89
+ * </li>
90
+ * <li>
91
+ * <p>
92
+ * <code>READWRITE</code> – Grant both read and write access to the S3 data.</p>
93
+ * </li>
94
+ * </ul>
95
+ * @public
96
+ */
97
+ Permission: Permission | undefined;
98
+ /**
99
+ * <p>The session duration, in seconds, of the temporary access credential that S3 Access Grants vends to the grantee or client application. The default value is 1 hour, but the grantee can specify a range from 900 seconds (15 minutes) up to 43200 seconds (12 hours). If the grantee requests a value higher than this maximum, the operation fails. </p>
100
+ * @public
101
+ */
102
+ DurationSeconds?: number;
103
+ /**
104
+ * <p>The scope of the temporary access credential that S3 Access Grants vends to the grantee or client application. </p>
105
+ * <ul>
106
+ * <li>
107
+ * <p>
108
+ * <code>Default</code> – The scope of the returned temporary access token is the scope of the grant that is closest to the target scope.</p>
109
+ * </li>
110
+ * <li>
111
+ * <p>
112
+ * <code>Minimal</code> – The scope of the returned temporary access token is the same as the requested target scope as long as the requested scope is the same as or a subset of the grant scope. </p>
113
+ * </li>
114
+ * </ul>
115
+ * @public
116
+ */
117
+ Privilege?: Privilege;
118
+ /**
119
+ * <p>The type of <code>Target</code>. The only possible value is <code>Object</code>. Pass this value if the target data that you would like to access is a path to an object. Do not pass this value if the target data is a bucket or a bucket and a prefix. </p>
120
+ * @public
121
+ */
122
+ TargetType?: S3PrefixType;
123
+ }
124
+ /**
125
+ * @public
126
+ */
127
+ export interface GetDataAccessResult {
128
+ /**
129
+ * <p>The temporary credential token that S3 Access Grants vends.</p>
130
+ * @public
131
+ */
132
+ Credentials?: Credentials;
133
+ /**
134
+ * <p>The S3 URI path of the data to which you are being granted temporary access credentials. </p>
135
+ * @public
136
+ */
137
+ MatchedGrantTarget?: string;
138
+ }
139
+ /**
140
+ * @public
141
+ *
142
+ * The input for {@link ListCallerAccessGrantsCommand}.
143
+ */
144
+ export type ListCallerAccessGrantsCommandInput = ListCallerAccessGrantsRequest;
145
+ /**
146
+ * @public
147
+ *
148
+ * The output of {@link ListCallerAccessGrantsCommand}.
149
+ */
150
+ export interface ListCallerAccessGrantsCommandOutput extends ListCallerAccessGrantsResult, __MetadataBearer {
151
+ }
152
+ /**
153
+ * @public
154
+ */
155
+ export interface ListCallerAccessGrantsEntry {
156
+ Permission?: Permission;
157
+ GrantScope?: string;
158
+ ApplicationArn?: string;
159
+ }
160
+ /**
161
+ * @public
162
+ */
163
+ export interface ListCallerAccessGrantsRequest {
164
+ AccountId?: string;
165
+ GrantScope?: string;
166
+ NextToken?: string;
167
+ MaxResults?: number;
168
+ }
169
+ /**
170
+ * @public
171
+ */
172
+ export interface ListCallerAccessGrantsResult {
173
+ NextToken?: string;
174
+ CallerAccessGrantsList?: ListCallerAccessGrantsEntry[];
175
+ }
176
+ /**
177
+ * @public
178
+ */
179
+ export type Permission = (typeof Permission)[keyof typeof Permission];
180
+ /**
181
+ * @public
182
+ */
183
+ export type Privilege = (typeof Privilege)[keyof typeof Privilege];
184
+ /**
185
+ * @public
186
+ */
187
+ export type S3PrefixType = (typeof S3PrefixType)[keyof typeof S3PrefixType];
188
+ export {};
@@ -11,16 +11,16 @@ export declare const abortMultipartUpload: (config: {
11
11
  } | undefined) => {
12
12
  url: URL;
13
13
  })) | undefined;
14
- retryDecider?: (((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) & ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>)) | undefined;
14
+ retryDecider?: (((response?: HttpResponse | undefined, error?: unknown, middlewareContext?: import("@aws-amplify/core/internals/aws-client-utils").MiddlewareContext | undefined) => Promise<import("@aws-amplify/core/internals/aws-client-utils").RetryDeciderOutput>) & import("../utils/createRetryDecider").RetryDecider) | undefined;
15
15
  computeDelay?: ((attempt: number) => number) | undefined;
16
16
  userAgentValue?: string | undefined;
17
17
  useAccelerateEndpoint?: boolean | undefined;
18
18
  uriEscapePath?: boolean | undefined;
19
19
  } & {
20
- credentials: import("@aws-sdk/types").AwsCredentialIdentity | (() => Promise<import("@aws-sdk/types").AwsCredentialIdentity>);
20
+ credentials: import("@aws-sdk/types").AwsCredentialIdentity | ((options?: import("@aws-amplify/core/internals/aws-client-utils").CredentialsProviderOptions | undefined) => Promise<import("@aws-sdk/types").AwsCredentialIdentity>);
21
21
  region: string;
22
- onDownloadProgress?: ((event: import("../../../..").TransferProgressEvent) => void) | undefined;
23
- onUploadProgress?: ((event: import("../../../..").TransferProgressEvent) => void) | undefined;
22
+ onDownloadProgress?: ((event: import("../../../../..").TransferProgressEvent) => void) | undefined;
23
+ onUploadProgress?: ((event: import("../../../../..").TransferProgressEvent) => void) | undefined;
24
24
  abortSignal?: AbortSignal | undefined;
25
25
  customEndpoint?: string | undefined;
26
26
  forcePathStyle?: boolean | undefined;
@@ -1,14 +1,13 @@
1
1
  import { parseMetadata } from '@aws-amplify/core/internals/aws-client-utils';
2
2
  import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
3
3
  import { AmplifyUrl, AmplifyUrlSearchParams } from '@aws-amplify/core/internals/utils';
4
- import { defaultConfig } from './base.mjs';
5
- import { parseXmlError } from './utils/parsePayload.mjs';
6
- import { s3TransferHandler } from './runtime/s3TransferHandler/fetch.mjs';
4
+ import { s3TransferHandler } from '../runtime/s3TransferHandler/fetch.mjs';
7
5
  import 'fast-xml-parser';
8
- import './runtime/s3TransferHandler/xhr.mjs';
6
+ import '../runtime/s3TransferHandler/xhr.mjs';
9
7
  import 'buffer';
10
- import { buildStorageServiceError } from './utils/deserializeHelpers.mjs';
11
- import { validateS3RequiredParameter, serializePathnameObjectKey } from './utils/serializeHelpers.mjs';
8
+ import { buildStorageServiceError } from '../utils/deserializeHelpers.mjs';
9
+ import { validateS3RequiredParameter, serializePathnameObjectKey } from '../utils/serializeHelpers.mjs';
10
+ import { defaultConfig, parseXmlError } from './base.mjs';
12
11
 
13
12
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
14
13
  // SPDX-License-Identifier: Apache-2.0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abortMultipartUpload.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/abortMultipartUpload.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { buildStorageServiceError, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from '../utils';\nimport { defaultConfig, parseXmlError } from './base';\nconst abortMultipartUploadSerializer = (input, endpoint) => {\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n uploadId: input.UploadId,\n }).toString();\n return {\n method: 'DELETE',\n headers: {},\n url,\n };\n};\nconst abortMultipartUploadDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n return {\n $metadata: parseMetadata(response),\n };\n }\n};\nexport const abortMultipartUpload = composeServiceApi(s3TransferHandler, abortMultipartUploadSerializer, abortMultipartUploadDeserializer, { ...defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;AACA;AAMA,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AAC5D,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,GAAG,CAAC,QAAQ,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9D,IAAI,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,sBAAsB,CAAC;AAC5C,QAAQ,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAChC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClB,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,QAAQ;AACxB,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,gCAAgC,GAAG,OAAO,QAAQ,KAAK;AAC7D,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,QAAQ,MAAM,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACnE,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;AAC9C,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACU,MAAC,oBAAoB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;;;;"}
@@ -36,6 +36,28 @@ export type S3EndpointResolverOptions = EndpointResolverOptions & {
36
36
  * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
37
37
  */
38
38
  export declare const isDnsCompatibleBucketName: (bucketName: string) => boolean;
39
+ /**
40
+ * Error parser for the XML payload of S3 data plane error response. The error's
41
+ * `Code` and `Message` locates directly at the XML root element.
42
+ *
43
+ * @example
44
+ * ```
45
+ * <?xml version="1.0" encoding="UTF-8"?>
46
+ * <Error>
47
+ * <Code>NoSuchKey</Code>
48
+ * <Message>The resource you requested does not exist</Message>
49
+ * <Resource>/mybucket/myfoto.jpg</Resource>
50
+ * <RequestId>4442587FB7D0A2F9</RequestId>
51
+ * </Error>
52
+ * ```
53
+ *
54
+ * @internal
55
+ */
56
+ export declare const parseXmlError: import("@aws-amplify/core/internals/aws-client-utils").ErrorParser;
57
+ /**
58
+ * @internal
59
+ */
60
+ export declare const retryDecider: import("../utils/createRetryDecider").RetryDecider;
39
61
  /**
40
62
  * @internal
41
63
  */
@@ -46,7 +68,7 @@ export declare const defaultConfig: {
46
68
  }) => {
47
69
  url: URL;
48
70
  };
49
- retryDecider: (response?: import("@aws-amplify/core/internals/aws-client-utils").HttpResponse | undefined, error?: unknown) => Promise<boolean>;
71
+ retryDecider: import("../utils/createRetryDecider").RetryDecider;
50
72
  computeDelay: (attempt: number) => number;
51
73
  userAgentValue: string;
52
74
  useAccelerateEndpoint: boolean;
@@ -1,10 +1,11 @@
1
1
  import { getAmplifyUserAgent, AmplifyUrl } from '@aws-amplify/core/internals/utils';
2
- import { getRetryDecider, jitteredBackoff, getDnsSuffix } from '@aws-amplify/core/internals/aws-client-utils';
3
- import { parseXmlError } from './utils/parsePayload.mjs';
4
- import './runtime/s3TransferHandler/fetch.mjs';
2
+ import { jitteredBackoff, getDnsSuffix } from '@aws-amplify/core/internals/aws-client-utils';
3
+ import { createXmlErrorParser } from '../utils/parsePayload.mjs';
4
+ import '../runtime/s3TransferHandler/fetch.mjs';
5
5
  import 'fast-xml-parser';
6
- import './runtime/s3TransferHandler/xhr.mjs';
6
+ import '../runtime/s3TransferHandler/xhr.mjs';
7
7
  import 'buffer';
8
+ import { createRetryDecider } from '../utils/createRetryDecider.mjs';
8
9
 
9
10
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
10
11
  // SPDX-License-Identifier: Apache-2.0
@@ -60,18 +61,40 @@ const endpointResolver = (options, apiInput) => {
60
61
  const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) &&
61
62
  !IP_ADDRESS_PATTERN.test(bucketName) &&
62
63
  !DOTS_PATTERN.test(bucketName);
64
+ /**
65
+ * Error parser for the XML payload of S3 data plane error response. The error's
66
+ * `Code` and `Message` locates directly at the XML root element.
67
+ *
68
+ * @example
69
+ * ```
70
+ * <?xml version="1.0" encoding="UTF-8"?>
71
+ * <Error>
72
+ * <Code>NoSuchKey</Code>
73
+ * <Message>The resource you requested does not exist</Message>
74
+ * <Resource>/mybucket/myfoto.jpg</Resource>
75
+ * <RequestId>4442587FB7D0A2F9</RequestId>
76
+ * </Error>
77
+ * ```
78
+ *
79
+ * @internal
80
+ */
81
+ const parseXmlError = createXmlErrorParser({ noErrorWrapping: true });
82
+ /**
83
+ * @internal
84
+ */
85
+ const retryDecider = createRetryDecider(parseXmlError);
63
86
  /**
64
87
  * @internal
65
88
  */
66
89
  const defaultConfig = {
67
90
  service: SERVICE_NAME,
68
91
  endpointResolver,
69
- retryDecider: getRetryDecider(parseXmlError),
92
+ retryDecider,
70
93
  computeDelay: jitteredBackoff,
71
94
  userAgentValue: getAmplifyUserAgent(),
72
95
  useAccelerateEndpoint: false,
73
96
  uriEscapePath: false, // Required by S3. See https://github.com/aws/aws-sdk-js-v3/blob/9ba012dfa3a3429aa2db0f90b3b0b3a7a31f9bc3/packages/signature-v4/src/SignatureV4.ts#L76-L83
74
97
  };
75
98
 
76
- export { SERVICE_NAME, defaultConfig, isDnsCompatibleBucketName };
99
+ export { SERVICE_NAME, defaultConfig, isDnsCompatibleBucketName, parseXmlError, retryDecider };
77
100
  //# sourceMappingURL=base.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/base.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyUrl, getAmplifyUserAgent, } from '@aws-amplify/core/internals/utils';\nimport { getDnsSuffix, jitteredBackoff, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { createRetryDecider, createXmlErrorParser } from '../utils';\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nexport const SERVICE_NAME = 's3';\n/**\n * The endpoint resolver function that returns the endpoint URL for a given region, and input parameters.\n */\nconst endpointResolver = (options, apiInput) => {\n const { region, useAccelerateEndpoint, customEndpoint, forcePathStyle } = options;\n let endpoint;\n // 1. get base endpoint\n if (customEndpoint) {\n endpoint = new AmplifyUrl(customEndpoint);\n }\n else if (useAccelerateEndpoint) {\n if (forcePathStyle) {\n throw new Error('Path style URLs are not supported with S3 Transfer Acceleration.');\n }\n endpoint = new AmplifyUrl(`https://s3-accelerate.${getDnsSuffix(region)}`);\n }\n else {\n endpoint = new AmplifyUrl(`https://s3.${region}.${getDnsSuffix(region)}`);\n }\n // 2. inject bucket name\n if (apiInput?.Bucket) {\n if (!isDnsCompatibleBucketName(apiInput.Bucket)) {\n throw new Error(`Invalid bucket name: \"${apiInput.Bucket}\".`);\n }\n if (forcePathStyle || apiInput.Bucket.includes('.')) {\n endpoint.pathname = `/${apiInput.Bucket}`;\n }\n else {\n endpoint.host = `${apiInput.Bucket}.${endpoint.host}`;\n }\n }\n return { url: endpoint };\n};\n/**\n * Determines whether a given string is DNS compliant per the rules outlined by\n * S3. Length, capitaization, and leading dot restrictions are enforced by the\n * DOMAIN_PATTERN regular expression.\n * @internal\n *\n * @see https://github.com/aws/aws-sdk-js-v3/blob/f2da6182298d4d6b02e84fb723492c07c27469a8/packages/middleware-bucket-endpoint/src/bucketHostnameUtils.ts#L39-L48\n * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html\n */\nexport const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) &&\n !IP_ADDRESS_PATTERN.test(bucketName) &&\n !DOTS_PATTERN.test(bucketName);\n/**\n * Error parser for the XML payload of S3 data plane error response. The error's\n * `Code` and `Message` locates directly at the XML root element.\n *\n * @example\n * ```\n * <?xml version=\"1.0\" encoding=\"UTF-8\"?>\n * \t<Error>\n * \t\t<Code>NoSuchKey</Code>\n * \t\t<Message>The resource you requested does not exist</Message>\n * \t\t<Resource>/mybucket/myfoto.jpg</Resource>\n * \t\t<RequestId>4442587FB7D0A2F9</RequestId>\n * \t</Error>\n * \t```\n *\n * @internal\n */\nexport const parseXmlError = createXmlErrorParser({ noErrorWrapping: true });\n/**\n * @internal\n */\nexport const retryDecider = createRetryDecider(parseXmlError);\n/**\n * @internal\n */\nexport const defaultConfig = {\n service: SERVICE_NAME,\n endpointResolver,\n retryDecider,\n computeDelay: jitteredBackoff,\n userAgentValue: getAmplifyUserAgent(),\n useAccelerateEndpoint: false,\n uriEscapePath: false, // Required by S3. See https://github.com/aws/aws-sdk-js-v3/blob/9ba012dfa3a3429aa2db0f90b3b0b3a7a31f9bc3/packages/signature-v4/src/SignatureV4.ts#L76-L83\n};\n"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AAIA,MAAM,cAAc,GAAG,oCAAoC,CAAC;AAC5D,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B;AACA;AACA;AACY,MAAC,YAAY,GAAG,KAAK;AACjC;AACA;AACA;AACA,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK;AAChD,IAAI,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;AACtF,IAAI,IAAI,QAAQ,CAAC;AACjB;AACA,IAAI,IAAI,cAAc,EAAE;AACxB,QAAQ,QAAQ,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;AAClD,KAAK;AACL,SAAS,IAAI,qBAAqB,EAAE;AACpC,QAAQ,IAAI,cAAc,EAAE;AAC5B,YAAY,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;AAChG,SAAS;AACT,QAAQ,QAAQ,GAAG,IAAI,UAAU,CAAC,CAAC,sBAAsB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,KAAK;AACL,SAAS;AACT,QAAQ,QAAQ,GAAG,IAAI,UAAU,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,KAAK;AACL;AACA,IAAI,IAAI,QAAQ,EAAE,MAAM,EAAE;AAC1B,QAAQ,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACzD,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,SAAS;AACT,QAAQ,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC7D,YAAY,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,SAAS;AACT,aAAa;AACb,YAAY,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,SAAS;AACT,KAAK;AACL,IAAI,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,yBAAyB,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;AACxF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,aAAa,GAAG,oBAAoB,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE;AAC7E;AACA;AACA;AACY,MAAC,YAAY,GAAG,kBAAkB,CAAC,aAAa,EAAE;AAC9D;AACA;AACA;AACY,MAAC,aAAa,GAAG;AAC7B,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,cAAc,EAAE,mBAAmB,EAAE;AACzC,IAAI,qBAAqB,EAAE,KAAK;AAChC,IAAI,aAAa,EAAE,KAAK;AACxB;;;;"}
@@ -1,10 +1,10 @@
1
- import { Endpoint, HttpResponse } from '@aws-amplify/core/internals/aws-client-utils';
1
+ import { Endpoint, HttpResponse, MiddlewareContext, RetryDeciderOutput } from '@aws-amplify/core/internals/aws-client-utils';
2
2
  import type { CompleteMultipartUploadCommandInput, CompleteMultipartUploadCommandOutput } from './types';
3
- export type CompleteMultipartUploadInput = Pick<CompleteMultipartUploadCommandInput, 'Bucket' | 'Key' | 'UploadId' | 'MultipartUpload'>;
3
+ export type CompleteMultipartUploadInput = Pick<CompleteMultipartUploadCommandInput, 'Bucket' | 'Key' | 'UploadId' | 'MultipartUpload' | 'ChecksumCRC32'>;
4
4
  export type CompleteMultipartUploadOutput = Pick<CompleteMultipartUploadCommandOutput, '$metadata' | 'Key' | 'ETag' | 'Location'>;
5
5
  export declare const completeMultipartUpload: (config: {
6
6
  responseType?: "blob" | "text" | undefined;
7
- retryDecider?: (((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) & ((response?: HttpResponse, error?: unknown) => Promise<boolean>)) | undefined;
7
+ retryDecider?: (((response?: HttpResponse | undefined, error?: unknown, middlewareContext?: MiddlewareContext | undefined) => Promise<RetryDeciderOutput>) & ((response?: HttpResponse, error?: unknown, middlewareContext?: MiddlewareContext) => Promise<RetryDeciderOutput>)) | undefined;
8
8
  service?: string | undefined;
9
9
  endpointResolver?: (((options: import("@aws-amplify/core/internals/aws-client-utils").EndpointResolverOptions, input?: any) => Endpoint) & ((options: import("./base").S3EndpointResolverOptions, apiInput?: {
10
10
  Bucket?: string | undefined;
@@ -16,10 +16,10 @@ export declare const completeMultipartUpload: (config: {
16
16
  useAccelerateEndpoint?: boolean | undefined;
17
17
  uriEscapePath?: boolean | undefined;
18
18
  } & {
19
- credentials: import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>);
19
+ credentials: import("@aws-amplify/core/internals/aws-client-utils").Credentials | ((options?: import("@aws-amplify/core/internals/aws-client-utils").CredentialsProviderOptions | undefined) => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>);
20
20
  region: string;
21
- onDownloadProgress?: ((event: import("../../../..").TransferProgressEvent) => void) | undefined;
22
- onUploadProgress?: ((event: import("../../../..").TransferProgressEvent) => void) | undefined;
21
+ onDownloadProgress?: ((event: import("../../../../..").TransferProgressEvent) => void) | undefined;
22
+ onUploadProgress?: ((event: import("../../../../..").TransferProgressEvent) => void) | undefined;
23
23
  abortSignal?: AbortSignal | undefined;
24
24
  customEndpoint?: string | undefined;
25
25
  forcePathStyle?: boolean | undefined;
@@ -1,14 +1,14 @@
1
1
  import { parseMetadata } from '@aws-amplify/core/internals/aws-client-utils';
2
2
  import { AmplifyUrl, AmplifyUrlSearchParams } from '@aws-amplify/core/internals/utils';
3
3
  import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';
4
- import { defaultConfig } from './base.mjs';
5
- import { parseXmlError, parseXmlBody } from './utils/parsePayload.mjs';
6
- import { s3TransferHandler } from './runtime/s3TransferHandler/fetch.mjs';
4
+ import { parseXmlBody } from '../utils/parsePayload.mjs';
5
+ import { s3TransferHandler } from '../runtime/s3TransferHandler/fetch.mjs';
7
6
  import 'fast-xml-parser';
8
- import './runtime/s3TransferHandler/xhr.mjs';
7
+ import '../runtime/s3TransferHandler/xhr.mjs';
9
8
  import 'buffer';
10
- import { buildStorageServiceError, map } from './utils/deserializeHelpers.mjs';
11
- import { validateS3RequiredParameter, serializePathnameObjectKey } from './utils/serializeHelpers.mjs';
9
+ import { buildStorageServiceError, map } from '../utils/deserializeHelpers.mjs';
10
+ import { assignStringVariables, validateS3RequiredParameter, serializePathnameObjectKey } from '../utils/serializeHelpers.mjs';
11
+ import { defaultConfig, parseXmlError, retryDecider } from './base.mjs';
12
12
 
13
13
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
14
14
  // SPDX-License-Identifier: Apache-2.0
@@ -16,6 +16,7 @@ const INVALID_PARAMETER_ERROR_MSG = 'Invalid parameter for ComplteMultipartUploa
16
16
  const completeMultipartUploadSerializer = async (input, endpoint) => {
17
17
  const headers = {
18
18
  'content-type': 'application/xml',
19
+ ...assignStringVariables({ 'x-amz-checksum-crc32': input.ChecksumCRC32 }),
19
20
  };
20
21
  const url = new AmplifyUrl(endpoint.url.toString());
21
22
  validateS3RequiredParameter(!!input.Key, 'Key');
@@ -43,7 +44,12 @@ const serializeCompletedPartList = (input) => {
43
44
  if (!input.ETag || input.PartNumber == null) {
44
45
  throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${input}`);
45
46
  }
46
- return `<Part><ETag>${input.ETag}</ETag><PartNumber>${input.PartNumber}</PartNumber></Part>`;
47
+ const eTag = `<ETag>${input.ETag}</ETag>`;
48
+ const partNumber = `<PartNumber>${input.PartNumber}</PartNumber>`;
49
+ const checksumCRC32 = input.ChecksumCRC32
50
+ ? `<ChecksumCRC32>${input.ChecksumCRC32}</ChecksumCRC32>`
51
+ : '';
52
+ return `<Part>${eTag}${partNumber}${checksumCRC32}</Part>`;
47
53
  };
48
54
  /**
49
55
  * Parse CompleteMultipartUpload API response payload, which may be empty or error indicating internal
@@ -83,22 +89,21 @@ const completeMultipartUploadDeserializer = async (response) => {
83
89
  // CompleteMultiPartUpload API returns 200 status code with empty body or error message.
84
90
  // This indicates internal server error after the response has been sent to the client.
85
91
  // Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_Example_4
86
- const retryWhenErrorWith200StatusCode = async (response, error) => {
92
+ const retryWhenErrorWith200StatusCode = async (response, error, middlewareContext) => {
87
93
  if (!response) {
88
- return false;
94
+ return { retryable: false };
89
95
  }
90
96
  if (response.statusCode === 200) {
91
97
  if (!response.body) {
92
- return true;
98
+ return { retryable: true };
93
99
  }
94
100
  const parsed = await parseXmlBody(response);
95
101
  if (parsed.Code !== undefined && parsed.Message !== undefined) {
96
- return true;
102
+ return { retryable: true };
97
103
  }
98
- return false;
104
+ return { retryable: false };
99
105
  }
100
- const defaultRetryDecider = defaultConfig.retryDecider;
101
- return defaultRetryDecider(response, error);
106
+ return retryDecider(response, error, middlewareContext);
102
107
  };
103
108
  const completeMultipartUpload = composeServiceApi(s3TransferHandler, completeMultipartUploadSerializer, completeMultipartUploadDeserializer, {
104
109
  ...defaultConfig,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completeMultipartUpload.mjs","sources":["../../../../../../../src/providers/s3/utils/client/s3data/completeMultipartUpload.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl, AmplifyUrlSearchParams, } from '@aws-amplify/core/internals/utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { assignStringVariables, buildStorageServiceError, map, parseXmlBody, s3TransferHandler, serializePathnameObjectKey, validateS3RequiredParameter, } from '../utils';\nimport { defaultConfig, parseXmlError, retryDecider } from './base';\nconst INVALID_PARAMETER_ERROR_MSG = 'Invalid parameter for ComplteMultipartUpload API';\nconst completeMultipartUploadSerializer = async (input, endpoint) => {\n const headers = {\n 'content-type': 'application/xml',\n ...assignStringVariables({ 'x-amz-checksum-crc32': input.ChecksumCRC32 }),\n };\n const url = new AmplifyUrl(endpoint.url.toString());\n validateS3RequiredParameter(!!input.Key, 'Key');\n url.pathname = serializePathnameObjectKey(url, input.Key);\n validateS3RequiredParameter(!!input.UploadId, 'UploadId');\n url.search = new AmplifyUrlSearchParams({\n uploadId: input.UploadId,\n }).toString();\n validateS3RequiredParameter(!!input.MultipartUpload, 'MultipartUpload');\n return {\n method: 'POST',\n headers,\n url,\n body: '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' +\n serializeCompletedMultipartUpload(input.MultipartUpload),\n };\n};\nconst serializeCompletedMultipartUpload = (input) => {\n if (!input.Parts?.length) {\n throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${input}`);\n }\n return `<CompleteMultipartUpload xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\">${input.Parts.map(serializeCompletedPartList).join('')}</CompleteMultipartUpload>`;\n};\nconst serializeCompletedPartList = (input) => {\n if (!input.ETag || input.PartNumber == null) {\n throw new Error(`${INVALID_PARAMETER_ERROR_MSG}: ${input}`);\n }\n const eTag = `<ETag>${input.ETag}</ETag>`;\n const partNumber = `<PartNumber>${input.PartNumber}</PartNumber>`;\n const checksumCRC32 = input.ChecksumCRC32\n ? `<ChecksumCRC32>${input.ChecksumCRC32}</ChecksumCRC32>`\n : '';\n return `<Part>${eTag}${partNumber}${checksumCRC32}</Part>`;\n};\n/**\n * Parse CompleteMultipartUpload API response payload, which may be empty or error indicating internal\n * server error, even when the status code is 200.\n *\n * Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_Example_4\n */\nconst parseXmlBodyOrThrow = async (response) => {\n const parsed = await parseXmlBody(response); // Handles empty body case\n if (parsed.Code !== undefined && parsed.Message !== undefined) {\n const error = (await parseXmlError({\n ...response,\n statusCode: 500, // To workaround the >=300 status code check common to other APIs.\n }));\n throw buildStorageServiceError(error, response.statusCode);\n }\n return parsed;\n};\nconst completeMultipartUploadDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await parseXmlError(response));\n throw buildStorageServiceError(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBodyOrThrow(response);\n const contents = map(parsed, {\n ETag: 'ETag',\n Key: 'Key',\n Location: 'Location',\n });\n return {\n $metadata: parseMetadata(response),\n ...contents,\n };\n }\n};\n// CompleteMultiPartUpload API returns 200 status code with empty body or error message.\n// This indicates internal server error after the response has been sent to the client.\n// Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_Example_4\nconst retryWhenErrorWith200StatusCode = async (response, error, middlewareContext) => {\n if (!response) {\n return { retryable: false };\n }\n if (response.statusCode === 200) {\n if (!response.body) {\n return { retryable: true };\n }\n const parsed = await parseXmlBody(response);\n if (parsed.Code !== undefined && parsed.Message !== undefined) {\n return { retryable: true };\n }\n return { retryable: false };\n }\n return retryDecider(response, error, middlewareContext);\n};\nexport const completeMultipartUpload = composeServiceApi(s3TransferHandler, completeMultipartUploadSerializer, completeMultipartUploadDeserializer, {\n ...defaultConfig,\n responseType: 'text',\n retryDecider: retryWhenErrorWith200StatusCode,\n});\n"],"names":[],"mappings":"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"}
@@ -10,16 +10,16 @@ export declare const copyObject: (config: {
10
10
  } | undefined) => {
11
11
  url: URL;
12
12
  })) | undefined;
13
- retryDecider?: (((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>) & ((response?: HttpResponse | undefined, error?: unknown) => Promise<boolean>)) | undefined;
13
+ retryDecider?: (((response?: HttpResponse | undefined, error?: unknown, middlewareContext?: import("@aws-amplify/core/internals/aws-client-utils").MiddlewareContext | undefined) => Promise<import("@aws-amplify/core/internals/aws-client-utils").RetryDeciderOutput>) & import("../utils/createRetryDecider").RetryDecider) | undefined;
14
14
  computeDelay?: ((attempt: number) => number) | undefined;
15
15
  userAgentValue?: string | undefined;
16
16
  useAccelerateEndpoint?: boolean | undefined;
17
17
  uriEscapePath?: boolean | undefined;
18
18
  } & {
19
- credentials: import("@aws-amplify/core/internals/aws-client-utils").Credentials | (() => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>);
19
+ credentials: import("@aws-amplify/core/internals/aws-client-utils").Credentials | ((options?: import("@aws-amplify/core/internals/aws-client-utils").CredentialsProviderOptions | undefined) => Promise<import("@aws-amplify/core/internals/aws-client-utils").Credentials>);
20
20
  region: string;
21
- onDownloadProgress?: ((event: import("../../../..").TransferProgressEvent) => void) | undefined;
22
- onUploadProgress?: ((event: import("../../../..").TransferProgressEvent) => void) | undefined;
21
+ onDownloadProgress?: ((event: import("../../../../..").TransferProgressEvent) => void) | undefined;
22
+ onUploadProgress?: ((event: import("../../../../..").TransferProgressEvent) => void) | undefined;
23
23
  abortSignal?: AbortSignal | undefined;
24
24
  customEndpoint?: string | undefined;
25
25
  forcePathStyle?: boolean | undefined;