@aws-amplify/storage 6.6.0 → 6.6.1-storage-browser.37d5283.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.
- package/dist/cjs/errors/constants.js +8 -0
- package/dist/cjs/errors/constants.js.map +1 -0
- package/dist/cjs/errors/types/validation.js +20 -0
- package/dist/cjs/errors/types/validation.js.map +1 -1
- package/dist/cjs/providers/s3/apis/downloadData.js +3 -3
- package/dist/cjs/providers/s3/apis/downloadData.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/copy.js +59 -14
- package/dist/cjs/providers/s3/apis/internal/copy.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/getProperties.js +3 -4
- package/dist/cjs/providers/s3/apis/internal/getProperties.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/getUrl.js +3 -3
- package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/list.js +4 -4
- package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/remove.js +3 -4
- package/dist/cjs/providers/s3/apis/internal/remove.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js +22 -2
- package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js +3 -2
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js +19 -8
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js +20 -11
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js +20 -7
- package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js.map +1 -1
- package/dist/cjs/providers/s3/apis/uploadData/validateObjectNotExists.js +25 -0
- package/dist/cjs/providers/s3/apis/uploadData/validateObjectNotExists.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3control/base.js +45 -0
- package/dist/cjs/providers/s3/utils/client/s3control/base.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js +58 -0
- package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3control/index.js +11 -0
- package/dist/cjs/providers/s3/utils/client/s3control/index.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js +59 -0
- package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3control/types.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{abortMultipartUpload.js → s3data/abortMultipartUpload.js} +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/abortMultipartUpload.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{base.js → s3data/base.js} +2 -2
- package/dist/cjs/providers/s3/utils/client/s3data/base.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{completeMultipartUpload.js → s3data/completeMultipartUpload.js} +14 -9
- package/dist/cjs/providers/s3/utils/client/s3data/completeMultipartUpload.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{copyObject.js → s3data/copyObject.js} +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/copyObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{createMultipartUpload.js → s3data/createMultipartUpload.js} +7 -2
- package/dist/cjs/providers/s3/utils/client/s3data/createMultipartUpload.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{deleteObject.js → s3data/deleteObject.js} +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/deleteObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{getObject.js → s3data/getObject.js} +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/getObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{headObject.js → s3data/headObject.js} +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/headObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3data/index.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{listObjectsV2.js → s3data/listObjectsV2.js} +1 -1
- package/dist/cjs/providers/s3/utils/client/s3data/listObjectsV2.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{listParts.js → s3data/listParts.js} +2 -1
- package/dist/cjs/providers/s3/utils/client/s3data/listParts.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{putObject.js → s3data/putObject.js} +2 -1
- package/dist/cjs/providers/s3/utils/client/s3data/putObject.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/s3data/types.js +6 -0
- package/dist/cjs/providers/s3/utils/client/s3data/types.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/{uploadPart.js → s3data/uploadPart.js} +3 -2
- package/dist/cjs/providers/s3/utils/client/s3data/uploadPart.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/utils/index.js +3 -1
- package/dist/cjs/providers/s3/utils/client/utils/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/retryDecider.js +61 -0
- package/dist/cjs/providers/s3/utils/client/utils/retryDecider.js.map +1 -0
- package/dist/cjs/providers/s3/utils/crc32.js +37 -0
- package/dist/cjs/providers/s3/utils/crc32.js.map +1 -0
- package/dist/cjs/providers/s3/utils/crc32.native.js +11 -0
- package/dist/cjs/providers/s3/utils/crc32.native.js.map +1 -0
- package/dist/cjs/providers/s3/utils/resolveIdentityId.js +14 -0
- package/dist/cjs/providers/s3/utils/resolveIdentityId.js.map +1 -0
- package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js +74 -14
- package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
- package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js +4 -1
- package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js.map +1 -1
- package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js +4 -1
- package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js.map +1 -1
- package/dist/cjs/storageBrowser/apis/constants.js +9 -0
- package/dist/cjs/storageBrowser/apis/constants.js.map +1 -0
- package/dist/cjs/storageBrowser/apis/getDataAccess.js +57 -0
- package/dist/cjs/storageBrowser/apis/getDataAccess.js.map +1 -0
- package/dist/cjs/storageBrowser/apis/listCallerAccessGrants.js +79 -0
- package/dist/cjs/storageBrowser/apis/listCallerAccessGrants.js.map +1 -0
- package/dist/cjs/storageBrowser/apis/types.js +6 -0
- package/dist/cjs/storageBrowser/apis/types.js.map +1 -0
- package/dist/cjs/storageBrowser/index.js +11 -0
- package/dist/cjs/storageBrowser/index.js.map +1 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/constants.js +9 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/constants.js.map +1 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/create.js +36 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/create.js.map +1 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/index.js +9 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/index.js.map +1 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/registry.js +58 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/registry.js.map +1 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/store.js +99 -0
- package/dist/cjs/storageBrowser/locationCredentialsStore/store.js.map +1 -0
- package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.js +15 -0
- package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.js.map +1 -0
- package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.js +29 -0
- package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.js.map +1 -0
- package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js +32 -0
- package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js.map +1 -0
- package/dist/cjs/storageBrowser/managedAuthConfigAdapter/index.js +9 -0
- package/dist/cjs/storageBrowser/managedAuthConfigAdapter/index.js.map +1 -0
- package/dist/cjs/storageBrowser/types.js +6 -0
- package/dist/cjs/storageBrowser/types.js.map +1 -0
- package/dist/esm/errors/constants.d.ts +1 -0
- package/dist/esm/errors/constants.mjs +6 -0
- package/dist/esm/errors/constants.mjs.map +1 -0
- package/dist/esm/errors/types/validation.d.ts +6 -1
- package/dist/esm/errors/types/validation.mjs +20 -0
- package/dist/esm/errors/types/validation.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/downloadData.mjs +13 -13
- package/dist/esm/providers/s3/apis/downloadData.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/copy.mjs +69 -24
- package/dist/esm/providers/s3/apis/internal/copy.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/getProperties.mjs +13 -14
- package/dist/esm/providers/s3/apis/internal/getProperties.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/getUrl.mjs +13 -13
- package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/list.mjs +13 -13
- package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/remove.mjs +13 -14
- package/dist/esm/providers/s3/apis/internal/remove.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.d.ts +2 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs +32 -12
- package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.d.ts +3 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs +13 -12
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs +27 -16
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.d.ts +3 -2
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs +27 -18
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs +30 -17
- package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.d.ts +3 -0
- package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.mjs +34 -0
- package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.mjs.map +1 -0
- package/dist/esm/providers/s3/types/index.d.ts +1 -1
- package/dist/esm/providers/s3/types/inputs.d.ts +5 -2
- package/dist/esm/providers/s3/types/options.d.ts +38 -1
- package/dist/esm/providers/s3/utils/client/s3control/base.d.ts +31 -0
- package/dist/esm/providers/s3/utils/client/s3control/base.mjs +48 -0
- package/dist/esm/providers/s3/utils/client/s3control/base.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.d.ts +26 -0
- package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs +63 -0
- package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3control/index.d.ts +2 -0
- package/dist/esm/providers/s3/utils/client/s3control/index.mjs +3 -0
- package/dist/esm/providers/s3/utils/client/s3control/index.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.d.ts +26 -0
- package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs +64 -0
- package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3control/types.d.ts +176 -0
- package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.d.ts → s3data/abortMultipartUpload.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.mjs → s3data/abortMultipartUpload.mjs} +6 -6
- package/dist/esm/providers/s3/utils/client/s3data/abortMultipartUpload.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{base.d.ts → s3data/base.d.ts} +1 -1
- package/dist/esm/providers/s3/utils/client/{base.mjs → s3data/base.mjs} +5 -5
- package/dist/esm/providers/s3/utils/client/s3data/base.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.d.ts → s3data/completeMultipartUpload.d.ts} +6 -6
- package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.mjs → s3data/completeMultipartUpload.mjs} +20 -14
- package/dist/esm/providers/s3/utils/client/s3data/completeMultipartUpload.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{copyObject.d.ts → s3data/copyObject.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{copyObject.mjs → s3data/copyObject.mjs} +6 -6
- package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{createMultipartUpload.d.ts → s3data/createMultipartUpload.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{createMultipartUpload.mjs → s3data/createMultipartUpload.mjs} +12 -7
- package/dist/esm/providers/s3/utils/client/s3data/createMultipartUpload.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{deleteObject.d.ts → s3data/deleteObject.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{deleteObject.mjs → s3data/deleteObject.mjs} +6 -6
- package/dist/esm/providers/s3/utils/client/s3data/deleteObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{getObject.d.ts → s3data/getObject.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{getObject.mjs → s3data/getObject.mjs} +7 -7
- package/dist/esm/providers/s3/utils/client/s3data/getObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{headObject.d.ts → s3data/headObject.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{headObject.mjs → s3data/headObject.mjs} +6 -6
- package/dist/esm/providers/s3/utils/client/s3data/headObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{listObjectsV2.d.ts → s3data/listObjectsV2.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{listObjectsV2.mjs → s3data/listObjectsV2.mjs} +6 -6
- package/dist/esm/providers/s3/utils/client/s3data/listObjectsV2.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{listParts.d.ts → s3data/listParts.d.ts} +4 -4
- package/dist/esm/providers/s3/utils/client/{listParts.mjs → s3data/listParts.mjs} +7 -6
- package/dist/esm/providers/s3/utils/client/s3data/listParts.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{putObject.d.ts → s3data/putObject.d.ts} +5 -5
- package/dist/esm/providers/s3/utils/client/{putObject.mjs → s3data/putObject.mjs} +7 -6
- package/dist/esm/providers/s3/utils/client/s3data/putObject.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/s3data/types.mjs +2 -0
- package/dist/esm/providers/s3/utils/client/s3data/types.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/{uploadPart.d.ts → s3data/uploadPart.d.ts} +5 -5
- package/dist/esm/providers/s3/utils/client/{uploadPart.mjs → s3data/uploadPart.mjs} +8 -7
- package/dist/esm/providers/s3/utils/client/s3data/uploadPart.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/utils/index.d.ts +1 -0
- package/dist/esm/providers/s3/utils/client/utils/index.mjs +1 -0
- package/dist/esm/providers/s3/utils/client/utils/index.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/retryDecider.d.ts +13 -0
- package/dist/esm/providers/s3/utils/client/utils/retryDecider.mjs +59 -0
- package/dist/esm/providers/s3/utils/client/utils/retryDecider.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/crc32.d.ts +6 -0
- package/dist/esm/providers/s3/utils/crc32.mjs +34 -0
- package/dist/esm/providers/s3/utils/crc32.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/crc32.native.d.ts +2 -0
- package/dist/esm/providers/s3/utils/crc32.native.mjs +8 -0
- package/dist/esm/providers/s3/utils/crc32.native.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/resolveIdentityId.d.ts +1 -0
- package/dist/esm/providers/s3/utils/resolveIdentityId.mjs +12 -0
- package/dist/esm/providers/s3/utils/resolveIdentityId.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.d.ts +11 -2
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs +72 -12
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs +4 -1
- package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs +4 -1
- package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs.map +1 -1
- package/dist/esm/storageBrowser/apis/constants.d.ts +2 -0
- package/dist/esm/storageBrowser/apis/constants.mjs +7 -0
- package/dist/esm/storageBrowser/apis/constants.mjs.map +1 -0
- package/dist/esm/storageBrowser/apis/getDataAccess.d.ts +2 -0
- package/dist/esm/storageBrowser/apis/getDataAccess.mjs +57 -0
- package/dist/esm/storageBrowser/apis/getDataAccess.mjs.map +1 -0
- package/dist/esm/storageBrowser/apis/listCallerAccessGrants.d.ts +2 -0
- package/dist/esm/storageBrowser/apis/listCallerAccessGrants.mjs +79 -0
- package/dist/esm/storageBrowser/apis/listCallerAccessGrants.mjs.map +1 -0
- package/dist/esm/storageBrowser/apis/types.d.ts +18 -0
- package/dist/esm/storageBrowser/apis/types.mjs +2 -0
- package/dist/esm/storageBrowser/apis/types.mjs.map +1 -0
- package/dist/esm/storageBrowser/index.d.ts +6 -0
- package/dist/esm/storageBrowser/index.mjs +3 -0
- package/dist/esm/storageBrowser/index.mjs.map +1 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/constants.d.ts +2 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/constants.mjs +7 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/constants.mjs.map +1 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/create.d.ts +2 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/create.mjs +34 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/create.mjs.map +1 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/index.d.ts +1 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/index.mjs +2 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/index.mjs.map +1 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/registry.d.ts +23 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/registry.mjs +54 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/registry.mjs.map +1 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/store.d.ts +35 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/store.mjs +95 -0
- package/dist/esm/storageBrowser/locationCredentialsStore/store.mjs.map +1 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.d.ts +8 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.mjs +13 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.mjs.map +1 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.d.ts +8 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs +27 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs.map +1 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.d.ts +19 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs +30 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs.map +1 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.d.ts +1 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.mjs +2 -0
- package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.mjs.map +1 -0
- package/dist/esm/storageBrowser/types.d.ts +92 -0
- package/dist/esm/storageBrowser/types.mjs +2 -0
- package/dist/esm/storageBrowser/types.mjs.map +1 -0
- package/dist/esm/types/inputs.d.ts +3 -3
- package/package.json +117 -107
- package/src/errors/constants.ts +4 -0
- package/src/errors/types/validation.ts +21 -0
- package/src/providers/s3/apis/downloadData.ts +2 -2
- package/src/providers/s3/apis/internal/copy.ts +77 -23
- package/src/providers/s3/apis/internal/getProperties.ts +2 -3
- package/src/providers/s3/apis/internal/getUrl.ts +2 -2
- package/src/providers/s3/apis/internal/list.ts +3 -3
- package/src/providers/s3/apis/internal/remove.ts +2 -3
- package/src/providers/s3/apis/uploadData/multipart/initialUpload.ts +30 -1
- package/src/providers/s3/apis/uploadData/multipart/uploadCache.ts +4 -1
- package/src/providers/s3/apis/uploadData/multipart/uploadHandlers.ts +36 -17
- package/src/providers/s3/apis/uploadData/multipart/uploadPartExecutor.ts +23 -7
- package/src/providers/s3/apis/uploadData/putObjectJob.ts +22 -5
- package/src/providers/s3/apis/uploadData/validateObjectNotExists.ts +25 -0
- package/src/providers/s3/types/index.ts +2 -0
- package/src/providers/s3/types/inputs.ts +11 -1
- package/src/providers/s3/types/options.ts +51 -1
- package/src/providers/s3/utils/client/s3control/base.ts +70 -0
- package/src/providers/s3/utils/client/s3control/getDataAccess.ts +97 -0
- package/src/providers/s3/utils/client/s3control/index.ts +13 -0
- package/src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts +104 -0
- package/src/providers/s3/utils/client/s3control/types.ts +213 -0
- package/src/providers/s3/utils/client/{abortMultipartUpload.ts → s3data/abortMultipartUpload.ts} +4 -3
- package/src/providers/s3/utils/client/{base.ts → s3data/base.ts} +2 -3
- package/src/providers/s3/utils/client/{completeMultipartUpload.ts → s3data/completeMultipartUpload.ts} +29 -18
- package/src/providers/s3/utils/client/{copyObject.ts → s3data/copyObject.ts} +4 -3
- package/src/providers/s3/utils/client/{createMultipartUpload.ts → s3data/createMultipartUpload.ts} +15 -8
- package/src/providers/s3/utils/client/{deleteObject.ts → s3data/deleteObject.ts} +7 -6
- package/src/providers/s3/utils/client/{getObject.ts → s3data/getObject.ts} +8 -7
- package/src/providers/s3/utils/client/{headObject.ts → s3data/headObject.ts} +4 -3
- package/src/providers/s3/utils/client/{listObjectsV2.ts → s3data/listObjectsV2.ts} +7 -6
- package/src/providers/s3/utils/client/{listParts.ts → s3data/listParts.ts} +9 -7
- package/src/providers/s3/utils/client/{putObject.ts → s3data/putObject.ts} +6 -3
- package/src/providers/s3/utils/client/{uploadPart.ts → s3data/uploadPart.ts} +13 -5
- package/src/providers/s3/utils/client/utils/index.ts +1 -0
- package/src/providers/s3/utils/client/utils/retryDecider.ts +81 -0
- package/src/providers/s3/utils/crc32.native.ts +11 -0
- package/src/providers/s3/utils/crc32.ts +51 -0
- package/src/providers/s3/utils/resolveIdentityId.ts +11 -0
- package/src/providers/s3/utils/resolveS3ConfigAndInput.ts +142 -16
- package/src/providers/s3/utils/validateStorageOperationInput.ts +5 -1
- package/src/providers/s3/utils/validateStorageOperationInputWithPrefix.ts +5 -1
- package/src/storageBrowser/apis/constants.ts +5 -0
- package/src/storageBrowser/apis/getDataAccess.ts +79 -0
- package/src/storageBrowser/apis/listCallerAccessGrants.ts +107 -0
- package/src/storageBrowser/apis/types.ts +33 -0
- package/src/storageBrowser/index.ts +25 -0
- package/src/storageBrowser/locationCredentialsStore/constants.ts +5 -0
- package/src/storageBrowser/locationCredentialsStore/create.ts +54 -0
- package/src/storageBrowser/locationCredentialsStore/index.ts +4 -0
- package/src/storageBrowser/locationCredentialsStore/registry.ts +88 -0
- package/src/storageBrowser/locationCredentialsStore/store.ts +161 -0
- package/src/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.ts +21 -0
- package/src/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.ts +40 -0
- package/src/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.ts +53 -0
- package/src/storageBrowser/managedAuthConfigAdapter/index.ts +8 -0
- package/src/storageBrowser/types.ts +117 -0
- package/src/types/inputs.ts +7 -3
- package/dist/cjs/providers/s3/utils/client/abortMultipartUpload.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/base.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/completeMultipartUpload.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/copyObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/createMultipartUpload.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/deleteObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/getObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/headObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/index.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/listObjectsV2.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/listParts.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/putObject.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/types.js.map +0 -1
- package/dist/cjs/providers/s3/utils/client/uploadPart.js.map +0 -1
- package/dist/esm/providers/s3/utils/client/abortMultipartUpload.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/base.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/completeMultipartUpload.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/copyObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/createMultipartUpload.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/deleteObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/getObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/headObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/listObjectsV2.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/listParts.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/putObject.mjs.map +0 -1
- package/dist/esm/providers/s3/utils/client/uploadPart.mjs.map +0 -1
- /package/dist/cjs/providers/s3/utils/client/{types.js → s3control/types.js} +0 -0
- /package/dist/cjs/providers/s3/utils/client/{index.js → s3data/index.js} +0 -0
- /package/dist/esm/providers/s3/utils/client/{types.mjs → s3control/types.mjs} +0 -0
- /package/dist/esm/providers/s3/utils/client/{types.mjs.map → s3control/types.mjs.map} +0 -0
- /package/dist/esm/providers/s3/utils/client/{index.d.ts → s3data/index.d.ts} +0 -0
- /package/dist/esm/providers/s3/utils/client/{index.mjs → s3data/index.mjs} +0 -0
- /package/dist/esm/providers/s3/utils/client/{index.mjs.map → s3data/index.mjs.map} +0 -0
- /package/dist/esm/providers/s3/utils/client/{types.d.ts → s3data/types.d.ts} +0 -0
- /package/src/providers/s3/utils/client/{index.ts → s3data/index.ts} +0 -0
- /package/src/providers/s3/utils/client/{types.ts → s3data/types.ts} +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
CreateLocationCredentialsStoreInput,
|
|
6
|
+
CredentialsLocation,
|
|
7
|
+
LocationCredentialsStore,
|
|
8
|
+
} from '../types';
|
|
9
|
+
import { StorageValidationErrorCode } from '../../errors/types/validation';
|
|
10
|
+
import { assertValidationError } from '../../errors/utils/assertValidationError';
|
|
11
|
+
import { LocationCredentialsProvider } from '../../providers/s3/types/options';
|
|
12
|
+
|
|
13
|
+
import { createStore, getValue, removeStore } from './registry';
|
|
14
|
+
|
|
15
|
+
export const createLocationCredentialsStore = (
|
|
16
|
+
input: CreateLocationCredentialsStoreInput,
|
|
17
|
+
): LocationCredentialsStore => {
|
|
18
|
+
const storeSymbol = createStore(input.handler);
|
|
19
|
+
|
|
20
|
+
const store = {
|
|
21
|
+
getProvider(providerLocation: CredentialsLocation) {
|
|
22
|
+
const locationCredentialsProvider = async ({
|
|
23
|
+
forceRefresh = false,
|
|
24
|
+
}: Parameters<LocationCredentialsProvider>[0] = {}) => {
|
|
25
|
+
validateS3Uri(providerLocation.scope);
|
|
26
|
+
|
|
27
|
+
// TODO(@AllanZhengYP): validate the action bucket and paths matches provider scope.
|
|
28
|
+
return getValue({
|
|
29
|
+
storeSymbol,
|
|
30
|
+
location: { ...providerLocation },
|
|
31
|
+
forceRefresh,
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
return locationCredentialsProvider;
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
destroy() {
|
|
39
|
+
removeStore(storeSymbol);
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return store;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
type S3Uri = string;
|
|
47
|
+
|
|
48
|
+
const validateS3Uri = (uri: S3Uri): void => {
|
|
49
|
+
const s3UrlSchemaRegex = /^s3:\/\/[^/]+/;
|
|
50
|
+
assertValidationError(
|
|
51
|
+
s3UrlSchemaRegex.test(uri),
|
|
52
|
+
StorageValidationErrorCode.InvalidS3Uri,
|
|
53
|
+
);
|
|
54
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* eslint-disable unused-imports/no-unused-vars */
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
import { AWSTemporaryCredentials } from '../../providers/s3/types/options';
|
|
6
|
+
import { CredentialsLocation, GetLocationCredentials } from '../types';
|
|
7
|
+
import { assertValidationError } from '../../errors/utils/assertValidationError';
|
|
8
|
+
import { StorageValidationErrorCode } from '../../errors/types/validation';
|
|
9
|
+
|
|
10
|
+
import {
|
|
11
|
+
LruLocationCredentialsStore,
|
|
12
|
+
fetchNewValue,
|
|
13
|
+
getCacheValue,
|
|
14
|
+
initStore,
|
|
15
|
+
} from './store';
|
|
16
|
+
|
|
17
|
+
interface StoreRegistrySymbol {
|
|
18
|
+
readonly value: symbol;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Keep all cache records for all instances of credentials store in a singleton
|
|
23
|
+
* so we can reliably de-reference from the memory when we destroy a store
|
|
24
|
+
* instance.
|
|
25
|
+
*/
|
|
26
|
+
const storeRegistry = new WeakMap<
|
|
27
|
+
StoreRegistrySymbol,
|
|
28
|
+
LruLocationCredentialsStore
|
|
29
|
+
>();
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
export const createStore = (
|
|
35
|
+
refreshHandler: GetLocationCredentials,
|
|
36
|
+
size?: number,
|
|
37
|
+
) => {
|
|
38
|
+
const storeSymbol = { value: Symbol('LocationCredentialsStore') };
|
|
39
|
+
storeRegistry.set(storeSymbol, initStore(refreshHandler, size));
|
|
40
|
+
|
|
41
|
+
return storeSymbol;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const getLookUpLocations = (location: CredentialsLocation) => {
|
|
45
|
+
const { scope, permission } = location;
|
|
46
|
+
const locations = [{ scope, permission }];
|
|
47
|
+
if (permission === 'READ' || permission === 'WRITE') {
|
|
48
|
+
locations.push({ scope, permission: 'READWRITE' });
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return locations;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const getCredentialsStore = (storeSymbol: StoreRegistrySymbol) => {
|
|
55
|
+
assertValidationError(
|
|
56
|
+
storeRegistry.has(storeSymbol),
|
|
57
|
+
StorageValidationErrorCode.LocationCredentialsStoreDestroyed,
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
return storeRegistry.get(storeSymbol)!;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
export const getValue = async (input: {
|
|
67
|
+
storeSymbol: StoreRegistrySymbol;
|
|
68
|
+
location: CredentialsLocation;
|
|
69
|
+
forceRefresh: boolean;
|
|
70
|
+
}): Promise<{ credentials: AWSTemporaryCredentials }> => {
|
|
71
|
+
const { storeSymbol: storeReference, location, forceRefresh } = input;
|
|
72
|
+
const store = getCredentialsStore(storeReference);
|
|
73
|
+
if (!forceRefresh) {
|
|
74
|
+
const lookupLocations = getLookUpLocations(location);
|
|
75
|
+
for (const lookupLocation of lookupLocations) {
|
|
76
|
+
const credentials = getCacheValue(store, lookupLocation);
|
|
77
|
+
if (credentials !== null) {
|
|
78
|
+
return { credentials };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return fetchNewValue(store, location);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const removeStore = (storeSymbol: StoreRegistrySymbol) => {
|
|
87
|
+
storeRegistry.delete(storeSymbol);
|
|
88
|
+
};
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/* eslint-disable unused-imports/no-unused-vars */
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
CredentialsLocation,
|
|
8
|
+
GetLocationCredentials,
|
|
9
|
+
Permission,
|
|
10
|
+
} from '../types';
|
|
11
|
+
import { AWSTemporaryCredentials } from '../../providers/s3/types/options';
|
|
12
|
+
import { assertValidationError } from '../../errors/utils/assertValidationError';
|
|
13
|
+
import { StorageValidationErrorCode } from '../../errors/types/validation';
|
|
14
|
+
|
|
15
|
+
import {
|
|
16
|
+
CREDENTIALS_REFRESH_WINDOW_MS,
|
|
17
|
+
CREDENTIALS_STORE_DEFAULT_SIZE,
|
|
18
|
+
} from './constants';
|
|
19
|
+
|
|
20
|
+
interface StoreValue extends CredentialsLocation {
|
|
21
|
+
credentials?: AWSTemporaryCredentials;
|
|
22
|
+
inflightCredentials?: Promise<{ credentials: AWSTemporaryCredentials }>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type S3Uri = string;
|
|
26
|
+
|
|
27
|
+
type CacheKey = `${S3Uri}_${Permission}`;
|
|
28
|
+
|
|
29
|
+
const createCacheKey = (location: CredentialsLocation): CacheKey =>
|
|
30
|
+
`${location.scope}_${location.permission}`;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* LRU implementation for Location Credentials Store
|
|
34
|
+
* O(n) for get and set for simplicity.
|
|
35
|
+
*
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
export interface LruLocationCredentialsStore {
|
|
39
|
+
capacity: number;
|
|
40
|
+
refreshHandler: GetLocationCredentials;
|
|
41
|
+
values: Map<CacheKey, StoreValue>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export const initStore = (
|
|
48
|
+
refreshHandler: GetLocationCredentials,
|
|
49
|
+
size = CREDENTIALS_STORE_DEFAULT_SIZE,
|
|
50
|
+
): LruLocationCredentialsStore => {
|
|
51
|
+
assertValidationError(
|
|
52
|
+
size > 0,
|
|
53
|
+
StorageValidationErrorCode.InvalidLocationCredentialsCacheSize,
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
return {
|
|
57
|
+
capacity: size,
|
|
58
|
+
refreshHandler,
|
|
59
|
+
values: new Map<CacheKey, StoreValue>(),
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export const getCacheValue = (
|
|
64
|
+
store: LruLocationCredentialsStore,
|
|
65
|
+
location: CredentialsLocation,
|
|
66
|
+
): AWSTemporaryCredentials | null => {
|
|
67
|
+
const cacheKey = createCacheKey(location);
|
|
68
|
+
const cachedValue = store.values.get(cacheKey);
|
|
69
|
+
const cachedCredentials = cachedValue?.credentials;
|
|
70
|
+
if (!cachedCredentials) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Delete and re-insert to key to map to indicate a latest reference in LRU.
|
|
75
|
+
store.values.delete(cacheKey);
|
|
76
|
+
if (!pastTTL(cachedCredentials)) {
|
|
77
|
+
// TODO(@AllanZhengYP): If the credential is still valid but will expire
|
|
78
|
+
// soon, we should return credentials AND dispatch a refresh.
|
|
79
|
+
store.values.set(cacheKey, cachedValue);
|
|
80
|
+
|
|
81
|
+
return cachedCredentials;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return null;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const pastTTL = (credentials: AWSTemporaryCredentials) => {
|
|
88
|
+
const { expiration } = credentials;
|
|
89
|
+
|
|
90
|
+
return expiration.getTime() - CREDENTIALS_REFRESH_WINDOW_MS <= Date.now();
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Fetch new credentials value with refresh handler and cache the result in
|
|
95
|
+
* LRU cache.
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
export const fetchNewValue = async (
|
|
99
|
+
store: LruLocationCredentialsStore,
|
|
100
|
+
location: CredentialsLocation,
|
|
101
|
+
): Promise<{ credentials: AWSTemporaryCredentials }> => {
|
|
102
|
+
const storeValues = store.values;
|
|
103
|
+
const key = createCacheKey(location);
|
|
104
|
+
if (!storeValues.has(key)) {
|
|
105
|
+
const newStoreValue: StoreValue = {
|
|
106
|
+
scope: location.scope,
|
|
107
|
+
permission: location.permission,
|
|
108
|
+
};
|
|
109
|
+
setCacheRecord(store, key, newStoreValue);
|
|
110
|
+
}
|
|
111
|
+
const storeValue = storeValues.get(key)!;
|
|
112
|
+
|
|
113
|
+
return dispatchRefresh(store.refreshHandler, storeValue, () => {
|
|
114
|
+
store.values.delete(key);
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const dispatchRefresh = (
|
|
119
|
+
refreshHandler: GetLocationCredentials,
|
|
120
|
+
value: StoreValue,
|
|
121
|
+
onRefreshFailure: () => void,
|
|
122
|
+
) => {
|
|
123
|
+
if (value.inflightCredentials) {
|
|
124
|
+
return value.inflightCredentials;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
value.inflightCredentials = (async () => {
|
|
128
|
+
try {
|
|
129
|
+
const { credentials } = await refreshHandler({
|
|
130
|
+
scope: value.scope,
|
|
131
|
+
permission: value.permission,
|
|
132
|
+
});
|
|
133
|
+
value.credentials = credentials;
|
|
134
|
+
|
|
135
|
+
return { credentials };
|
|
136
|
+
} catch (e) {
|
|
137
|
+
onRefreshFailure();
|
|
138
|
+
throw e;
|
|
139
|
+
} finally {
|
|
140
|
+
value.inflightCredentials = undefined;
|
|
141
|
+
}
|
|
142
|
+
})();
|
|
143
|
+
|
|
144
|
+
return value.inflightCredentials;
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
const setCacheRecord = (
|
|
148
|
+
store: LruLocationCredentialsStore,
|
|
149
|
+
key: CacheKey,
|
|
150
|
+
value: StoreValue,
|
|
151
|
+
): void => {
|
|
152
|
+
if (store.capacity === store.values.size) {
|
|
153
|
+
// Pop least used entry. The Map's key are in insertion order.
|
|
154
|
+
// So first key is the last recently inserted.
|
|
155
|
+
const [oldestKey] = store.values.keys();
|
|
156
|
+
store.values.delete(oldestKey);
|
|
157
|
+
// TODO(@AllanZhengYP): Add log info when record is evicted.
|
|
158
|
+
}
|
|
159
|
+
// Add latest used value to the cache.
|
|
160
|
+
store.values.set(key, value);
|
|
161
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { CredentialsProvider, ListLocations } from '../types';
|
|
5
|
+
import { listCallerAccessGrants } from '../apis/listCallerAccessGrants';
|
|
6
|
+
|
|
7
|
+
interface CreateListLocationsHandlerInput {
|
|
8
|
+
accountId: string;
|
|
9
|
+
credentialsProvider: CredentialsProvider;
|
|
10
|
+
region: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const createListLocationsHandler = (
|
|
14
|
+
handlerInput: CreateListLocationsHandlerInput,
|
|
15
|
+
): ListLocations => {
|
|
16
|
+
return async function listLocations(input = {}) {
|
|
17
|
+
const result = await listCallerAccessGrants({ ...input, ...handlerInput });
|
|
18
|
+
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { getDataAccess } from '../apis/getDataAccess';
|
|
5
|
+
import {
|
|
6
|
+
CredentialsProvider,
|
|
7
|
+
GetLocationCredentials,
|
|
8
|
+
GetLocationCredentialsInput,
|
|
9
|
+
} from '../types';
|
|
10
|
+
|
|
11
|
+
interface CreateLocationCredentialsHandlerInput {
|
|
12
|
+
accountId: string;
|
|
13
|
+
credentialsProvider: CredentialsProvider;
|
|
14
|
+
region: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const createLocationCredentialsHandler = (
|
|
18
|
+
handlerInput: CreateLocationCredentialsHandlerInput,
|
|
19
|
+
): GetLocationCredentials => {
|
|
20
|
+
const { accountId, region, credentialsProvider } = handlerInput;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Retrieves credentials for the specified scope & permission.
|
|
24
|
+
*
|
|
25
|
+
* @param input - An object specifying the requested scope & permission.
|
|
26
|
+
*
|
|
27
|
+
* @returns A promise which will resolve with the requested credentials.
|
|
28
|
+
*/
|
|
29
|
+
return (input: GetLocationCredentialsInput) => {
|
|
30
|
+
const { scope, permission } = input;
|
|
31
|
+
|
|
32
|
+
return getDataAccess({
|
|
33
|
+
accountId,
|
|
34
|
+
credentialsProvider,
|
|
35
|
+
permission,
|
|
36
|
+
region,
|
|
37
|
+
scope,
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import {
|
|
4
|
+
CredentialsProvider,
|
|
5
|
+
GetLocationCredentials,
|
|
6
|
+
ListLocations,
|
|
7
|
+
} from '../types';
|
|
8
|
+
|
|
9
|
+
import { createListLocationsHandler } from './createListLocationsHandler';
|
|
10
|
+
import { createLocationCredentialsHandler } from './createLocationCredentialsHandler';
|
|
11
|
+
|
|
12
|
+
export interface CreateManagedAuthConfigAdapterInput {
|
|
13
|
+
accountId: string;
|
|
14
|
+
region: string;
|
|
15
|
+
credentialsProvider: CredentialsProvider;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface AuthConfigAdapter {
|
|
19
|
+
listLocations: ListLocations;
|
|
20
|
+
getLocationCredentials: GetLocationCredentials;
|
|
21
|
+
region: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Create configuration including handlers to call S3 Access Grant APIs to list and get
|
|
26
|
+
* credentials for different locations.
|
|
27
|
+
*
|
|
28
|
+
* @param options - Configuration options for the adapter.
|
|
29
|
+
* @returns - An object containing the handlers to call S3 Access Grant APIs and region
|
|
30
|
+
*/
|
|
31
|
+
export const createManagedAuthConfigAdapter = ({
|
|
32
|
+
credentialsProvider,
|
|
33
|
+
region,
|
|
34
|
+
accountId,
|
|
35
|
+
}: CreateManagedAuthConfigAdapterInput): AuthConfigAdapter => {
|
|
36
|
+
const listLocations = createListLocationsHandler({
|
|
37
|
+
credentialsProvider,
|
|
38
|
+
accountId,
|
|
39
|
+
region,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const getLocationCredentials = createLocationCredentialsHandler({
|
|
43
|
+
credentialsProvider,
|
|
44
|
+
accountId,
|
|
45
|
+
region,
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
listLocations,
|
|
50
|
+
getLocationCredentials,
|
|
51
|
+
region,
|
|
52
|
+
};
|
|
53
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
AWSTemporaryCredentials,
|
|
6
|
+
LocationCredentialsProvider,
|
|
7
|
+
} from '../providers/s3/types/options';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export type Permission = 'READ' | 'READWRITE' | 'WRITE';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export type CredentialsProvider = LocationCredentialsProvider;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export type LocationType = 'BUCKET' | 'PREFIX' | 'OBJECT';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export type Privilege = 'Default' | 'Minimal';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
export type PrefixType = 'Object';
|
|
33
|
+
|
|
34
|
+
export interface LocationScope {
|
|
35
|
+
/**
|
|
36
|
+
* Scope of storage location. For S3 service, it's the S3 path of the data to
|
|
37
|
+
* which the access is granted. It can be in following formats:
|
|
38
|
+
*
|
|
39
|
+
* @example Bucket 's3://<bucket>/*'
|
|
40
|
+
* @example Prefix 's3://<bucket>/<prefix-with-path>*'
|
|
41
|
+
* @example Object 's3://<bucket>/<prefix-with-path>/<object>'
|
|
42
|
+
*/
|
|
43
|
+
readonly scope: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface CredentialsLocation extends LocationScope {
|
|
47
|
+
/**
|
|
48
|
+
* The type of access granted to your Storage data. Can be either of READ,
|
|
49
|
+
* WRITE or READWRITE
|
|
50
|
+
*/
|
|
51
|
+
readonly permission: Permission;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export interface LocationAccess extends CredentialsLocation {
|
|
58
|
+
/**
|
|
59
|
+
* Parse location type parsed from scope format:
|
|
60
|
+
* * BUCKET: `'s3://<bucket>/*'`
|
|
61
|
+
* * PREFIX: `'s3://<bucket>/<prefix-with-path>*'`
|
|
62
|
+
* * OBJECT: `'s3://<bucket>/<prefix-with-path>/<object>'`
|
|
63
|
+
*/
|
|
64
|
+
readonly type: LocationType;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface LocationCredentials extends Partial<LocationScope> {
|
|
68
|
+
/**
|
|
69
|
+
* AWS credentials which can be used to access the specified location.
|
|
70
|
+
*/
|
|
71
|
+
readonly credentials: AWSTemporaryCredentials;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
export interface ListLocationsInput {
|
|
78
|
+
pageSize?: number;
|
|
79
|
+
nextToken?: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
export interface ListLocationsOutput {
|
|
85
|
+
locations: LocationAccess[];
|
|
86
|
+
nextToken?: string;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export type ListLocations = (
|
|
90
|
+
input?: ListLocationsInput,
|
|
91
|
+
) => Promise<ListLocationsOutput>;
|
|
92
|
+
|
|
93
|
+
export type GetLocationCredentialsInput = CredentialsLocation;
|
|
94
|
+
export type GetLocationCredentialsOutput = LocationCredentials;
|
|
95
|
+
|
|
96
|
+
export type GetLocationCredentials = (
|
|
97
|
+
input: GetLocationCredentialsInput,
|
|
98
|
+
) => Promise<GetLocationCredentialsOutput>;
|
|
99
|
+
|
|
100
|
+
export interface CreateLocationCredentialsStoreInput {
|
|
101
|
+
handler: GetLocationCredentials;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export interface LocationCredentialsStore {
|
|
105
|
+
/**
|
|
106
|
+
* Get location-specific credentials. It uses a cache internally to optimize performance when
|
|
107
|
+
* getting credentials for the same location. It will refresh credentials if they expire or
|
|
108
|
+
* when forced to.
|
|
109
|
+
*/
|
|
110
|
+
getProvider(option: CredentialsLocation): LocationCredentialsProvider;
|
|
111
|
+
/**
|
|
112
|
+
* Invalidate cached credentials and force subsequent calls to get location-specific
|
|
113
|
+
* credentials to throw. It also makes subsequent calls to `getCredentialsProviderForLocation`
|
|
114
|
+
* to throw.
|
|
115
|
+
*/
|
|
116
|
+
destroy(): void;
|
|
117
|
+
}
|
package/src/types/inputs.ts
CHANGED
|
@@ -90,9 +90,13 @@ export interface StorageCopyInputWithKey<
|
|
|
90
90
|
destination: DestinationOptions;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
export interface StorageCopyInputWithPath
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
export interface StorageCopyInputWithPath<
|
|
94
|
+
SourceOptions,
|
|
95
|
+
DestinationOptions,
|
|
96
|
+
Options = unknown,
|
|
97
|
+
> extends StorageOperationOptionsInput<Options> {
|
|
98
|
+
source: StorageOperationInputWithPath & SourceOptions;
|
|
99
|
+
destination: StorageOperationInputWithPath & DestinationOptions;
|
|
96
100
|
}
|
|
97
101
|
|
|
98
102
|
/**
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abortMultipartUpload.js","sources":["../../../../../../src/providers/s3/utils/client/abortMultipartUpload.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.abortMultipartUpload = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst base_1 = require(\"./base\");\nconst utils_2 = require(\"./utils\");\nconst abortMultipartUploadSerializer = (input, endpoint) => {\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n (0, utils_2.validateS3RequiredParameter)(!!input.Key, 'Key');\n url.pathname = (0, utils_2.serializePathnameObjectKey)(url, input.Key);\n (0, utils_2.validateS3RequiredParameter)(!!input.UploadId, 'UploadId');\n url.search = new utils_1.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 (0, utils_2.parseXmlError)(response));\n throw (0, utils_2.buildStorageServiceError)(error, response.statusCode);\n }\n else {\n return {\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n };\n }\n};\nexports.abortMultipartUpload = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, abortMultipartUploadSerializer, abortMultipartUploadDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC,CAAC;AACtC,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACnF,MAAM,WAAW,GAAG,OAAO,CAAC,wDAAwD,CAAC,CAAC;AACtF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AAC5D,IAAI,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjE,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3E,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC3E,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC;AACpD,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,IAAI,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AACnE,QAAQ,MAAM,IAAI,OAAO,CAAC,wBAAwB,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAChF,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,IAAI,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACtE,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,oBAAoB,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../../../../../src/providers/s3/utils/client/base.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultConfig = exports.isDnsCompatibleBucketName = exports.SERVICE_NAME = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst utils_2 = require(\"./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 */\nexports.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 utils_1.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 utils_1.AmplifyUrl(`https://s3-accelerate.${(0, aws_client_utils_1.getDnsSuffix)(region)}`);\n }\n else {\n endpoint = new utils_1.AmplifyUrl(`https://s3.${region}.${(0, aws_client_utils_1.getDnsSuffix)(region)}`);\n }\n // 2. inject bucket name\n if (apiInput?.Bucket) {\n if (!(0, exports.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 */\nconst isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) &&\n !IP_ADDRESS_PATTERN.test(bucketName) &&\n !DOTS_PATTERN.test(bucketName);\nexports.isDnsCompatibleBucketName = isDnsCompatibleBucketName;\n/**\n * @internal\n */\nexports.defaultConfig = {\n service: exports.SERVICE_NAME,\n endpointResolver,\n retryDecider: (0, aws_client_utils_1.getRetryDecider)(utils_2.parseXmlError),\n computeDelay: aws_client_utils_1.jitteredBackoff,\n userAgentValue: (0, utils_1.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":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completeMultipartUpload.js","sources":["../../../../../../src/providers/s3/utils/client/completeMultipartUpload.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.completeMultipartUpload = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst base_1 = require(\"./base\");\nconst utils_2 = require(\"./utils\");\nconst INVALID_PARAMETER_ERROR_MSG = 'Invalid parameter for ComplteMultipartUpload API';\nconst completeMultipartUploadSerializer = async (input, endpoint) => {\n const headers = {\n 'content-type': 'application/xml',\n };\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n (0, utils_2.validateS3RequiredParameter)(!!input.Key, 'Key');\n url.pathname = (0, utils_2.serializePathnameObjectKey)(url, input.Key);\n (0, utils_2.validateS3RequiredParameter)(!!input.UploadId, 'UploadId');\n url.search = new utils_1.AmplifyUrlSearchParams({\n uploadId: input.UploadId,\n }).toString();\n (0, utils_2.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 return `<Part><ETag>${input.ETag}</ETag><PartNumber>${input.PartNumber}</PartNumber></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 (0, utils_2.parseXmlBody)(response); // Handles empty body case\n if (parsed.Code !== undefined && parsed.Message !== undefined) {\n const error = (await (0, utils_2.parseXmlError)({\n ...response,\n statusCode: 500, // To workaround the >=300 status code check common to other APIs.\n }));\n throw (0, utils_2.buildStorageServiceError)(error, response.statusCode);\n }\n return parsed;\n};\nconst completeMultipartUploadDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await (0, utils_2.parseXmlError)(response));\n throw (0, utils_2.buildStorageServiceError)(error, response.statusCode);\n }\n else {\n const parsed = await parseXmlBodyOrThrow(response);\n const contents = (0, utils_2.map)(parsed, {\n ETag: 'ETag',\n Key: 'Key',\n Location: 'Location',\n });\n return {\n $metadata: (0, aws_client_utils_1.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) => {\n if (!response) {\n return false;\n }\n if (response.statusCode === 200) {\n if (!response.body) {\n return true;\n }\n const parsed = await (0, utils_2.parseXmlBody)(response);\n if (parsed.Code !== undefined && parsed.Message !== undefined) {\n return true;\n }\n return false;\n }\n const defaultRetryDecider = base_1.defaultConfig.retryDecider;\n return defaultRetryDecider(response, error);\n};\nexports.completeMultipartUpload = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, completeMultipartUploadSerializer, completeMultipartUploadDeserializer, {\n ...base_1.defaultConfig,\n responseType: 'text',\n retryDecider: retryWhenErrorWith200StatusCode,\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copyObject.js","sources":["../../../../../../src/providers/s3/utils/client/copyObject.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.copyObject = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst base_1 = require(\"./base\");\nconst utils_2 = require(\"./utils\");\nconst copyObjectSerializer = async (input, endpoint) => {\n const headers = {\n ...(await (0, utils_2.serializeObjectConfigsToHeaders)(input)),\n ...(0, utils_2.assignStringVariables)({\n 'x-amz-copy-source': input.CopySource,\n 'x-amz-metadata-directive': input.MetadataDirective,\n }),\n };\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n (0, utils_2.validateS3RequiredParameter)(!!input.Key, 'Key');\n url.pathname = (0, utils_2.serializePathnameObjectKey)(url, input.Key);\n return {\n method: 'PUT',\n headers,\n url,\n };\n};\nconst copyObjectDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await (0, utils_2.parseXmlError)(response));\n throw (0, utils_2.buildStorageServiceError)(error, response.statusCode);\n }\n else {\n await (0, utils_2.parseXmlBody)(response);\n return {\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n };\n }\n};\nexports.copyObject = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, copyObjectSerializer, copyObjectDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;AAC5B,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACnF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,wDAAwD,CAAC,CAAC;AACtF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,oBAAoB,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACxD,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,IAAI,MAAM,IAAI,OAAO,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;AACtE,QAAQ,GAAG,IAAI,OAAO,CAAC,qBAAqB,EAAE;AAC9C,YAAY,mBAAmB,EAAE,KAAK,CAAC,UAAU;AACjD,YAAY,0BAA0B,EAAE,KAAK,CAAC,iBAAiB;AAC/D,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjE,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3E,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,KAAK;AACrB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,OAAO,QAAQ,KAAK;AACnD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AACnE,QAAQ,MAAM,IAAI,OAAO,CAAC,wBAAwB,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAChF,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAClD,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,IAAI,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACtE,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,UAAU,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createMultipartUpload.js","sources":["../../../../../../src/providers/s3/utils/client/createMultipartUpload.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createMultipartUpload = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst base_1 = require(\"./base\");\nconst utils_2 = require(\"./utils\");\nconst createMultipartUploadSerializer = async (input, endpoint) => {\n const headers = await (0, utils_2.serializeObjectConfigsToHeaders)(input);\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n (0, utils_2.validateS3RequiredParameter)(!!input.Key, 'Key');\n url.pathname = (0, utils_2.serializePathnameObjectKey)(url, input.Key);\n url.search = 'uploads';\n return {\n method: 'POST',\n headers,\n url,\n };\n};\nconst createMultipartUploadDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n const error = (await (0, utils_2.parseXmlError)(response));\n throw (0, utils_2.buildStorageServiceError)(error, response.statusCode);\n }\n else {\n const parsed = await (0, utils_2.parseXmlBody)(response);\n const contents = (0, utils_2.map)(parsed, {\n UploadId: 'UploadId',\n });\n return {\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n ...contents,\n };\n }\n};\nexports.createMultipartUpload = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, createMultipartUploadSerializer, createMultipartUploadDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC;AACvC,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACnF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,wDAAwD,CAAC,CAAC;AACtF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,+BAA+B,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACnE,IAAI,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;AAC9E,IAAI,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjE,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3E,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;AAC3B,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,iCAAiC,GAAG,OAAO,QAAQ,KAAK;AAC9D,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC,QAAQ,MAAM,KAAK,IAAI,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AACnE,QAAQ,MAAM,IAAI,OAAO,CAAC,wBAAwB,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAChF,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACjE,QAAQ,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE;AAClD,YAAY,QAAQ,EAAE,UAAU;AAChC,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,SAAS,EAAE,IAAI,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACtE,YAAY,GAAG,QAAQ;AACvB,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,qBAAqB,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deleteObject.js","sources":["../../../../../../src/providers/s3/utils/client/deleteObject.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteObject = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst composers_1 = require(\"@aws-amplify/core/internals/aws-client-utils/composers\");\nconst base_1 = require(\"./base\");\nconst utils_2 = require(\"./utils\");\nconst deleteObjectSerializer = (input, endpoint) => {\n const url = new utils_1.AmplifyUrl(endpoint.url.toString());\n (0, utils_2.validateS3RequiredParameter)(!!input.Key, 'Key');\n url.pathname = (0, utils_2.serializePathnameObjectKey)(url, input.Key);\n return {\n method: 'DELETE',\n headers: {},\n url,\n };\n};\nconst deleteObjectDeserializer = async (response) => {\n if (response.statusCode >= 300) {\n // error is always set when statusCode >= 300\n const error = (await (0, utils_2.parseXmlError)(response));\n throw (0, utils_2.buildStorageServiceError)(error, response.statusCode);\n }\n else {\n const content = (0, utils_2.map)(response.headers, {\n DeleteMarker: ['x-amz-delete-marker', utils_2.deserializeBoolean],\n VersionId: 'x-amz-version-id',\n RequestCharged: 'x-amz-request-charged',\n });\n return {\n ...content,\n $metadata: (0, aws_client_utils_1.parseMetadata)(response),\n };\n }\n};\nexports.deleteObject = (0, composers_1.composeServiceApi)(utils_2.s3TransferHandler, deleteObjectSerializer, deleteObjectDeserializer, { ...base_1.defaultConfig, responseType: 'text' });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;AAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACnF,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,wDAAwD,CAAC,CAAC;AACtF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AACpD,IAAI,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjE,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3E,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,QAAQ;AACxB,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,GAAG;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,MAAM,wBAAwB,GAAG,OAAO,QAAQ,KAAK;AACrD,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AACpC;AACA,QAAQ,MAAM,KAAK,IAAI,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AACnE,QAAQ,MAAM,IAAI,OAAO,CAAC,wBAAwB,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAChF,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE;AAC3D,YAAY,YAAY,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,kBAAkB,CAAC;AAC7E,YAAY,SAAS,EAAE,kBAAkB;AACzC,YAAY,cAAc,EAAE,uBAAuB;AACnD,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,GAAG,OAAO;AACtB,YAAY,SAAS,EAAE,IAAI,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACtE,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;"}
|