@aws-amplify/storage 6.6.10 → 6.6.11-storage-browser-integrity.2a9053f.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/IntegrityError.js +22 -0
- package/dist/cjs/errors/IntegrityError.js.map +1 -0
- package/dist/cjs/errors/constants.js +8 -0
- package/dist/cjs/errors/constants.js.map +1 -0
- package/dist/cjs/errors/types/validation.js +16 -0
- package/dist/cjs/errors/types/validation.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internals/apis/copy.js +33 -0
- package/dist/cjs/internals/apis/copy.js.map +1 -0
- package/dist/cjs/internals/apis/downloadData.js +25 -0
- package/dist/cjs/internals/apis/downloadData.js.map +1 -0
- package/dist/cjs/internals/apis/getDataAccess.js +60 -0
- package/dist/cjs/internals/apis/getDataAccess.js.map +1 -0
- package/dist/cjs/internals/apis/getProperties.js +24 -0
- package/dist/cjs/internals/apis/getProperties.js.map +1 -0
- package/dist/cjs/internals/apis/getUrl.js +29 -0
- package/dist/cjs/internals/apis/getUrl.js.map +1 -0
- package/dist/cjs/internals/apis/list.js +32 -0
- package/dist/cjs/internals/apis/list.js.map +1 -0
- package/dist/cjs/internals/apis/listCallerAccessGrants.js +72 -0
- package/dist/cjs/internals/apis/listCallerAccessGrants.js.map +1 -0
- package/dist/cjs/internals/apis/remove.js +24 -0
- package/dist/cjs/internals/apis/remove.js.map +1 -0
- package/dist/cjs/internals/apis/uploadData.js +34 -0
- package/dist/cjs/internals/apis/uploadData.js.map +1 -0
- package/dist/cjs/internals/index.js +32 -0
- package/dist/cjs/internals/index.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/constants.js +9 -0
- package/dist/cjs/internals/locationCredentialsStore/constants.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/create.js +36 -0
- package/dist/cjs/internals/locationCredentialsStore/create.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/index.js +9 -0
- package/dist/cjs/internals/locationCredentialsStore/index.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/registry.js +57 -0
- package/dist/cjs/internals/locationCredentialsStore/registry.js.map +1 -0
- package/dist/cjs/internals/locationCredentialsStore/store.js +100 -0
- package/dist/cjs/internals/locationCredentialsStore/store.js.map +1 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createListLocationsHandler.js +15 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createListLocationsHandler.js.map +1 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.js +29 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.js.map +1 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js +32 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js.map +1 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/index.js +9 -0
- package/dist/cjs/internals/managedAuthConfigAdapter/index.js.map +1 -0
- package/dist/cjs/internals/types/common.js +6 -0
- package/dist/cjs/internals/types/common.js.map +1 -0
- package/dist/cjs/internals/types/credentials.js +6 -0
- package/dist/cjs/internals/types/credentials.js.map +1 -0
- package/dist/cjs/internals/types/inputs.js +6 -0
- package/dist/cjs/internals/types/inputs.js.map +1 -0
- package/dist/cjs/internals/types/options.js +3 -0
- package/dist/cjs/internals/types/options.js.map +1 -0
- package/dist/cjs/internals/types/outputs.js +6 -0
- package/dist/cjs/internals/types/outputs.js.map +1 -0
- package/dist/cjs/internals/utils/constants.js +9 -0
- package/dist/cjs/internals/utils/constants.js.map +1 -0
- package/dist/cjs/providers/s3/apis/downloadData.js +2 -47
- package/dist/cjs/providers/s3/apis/downloadData.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/copy.js +56 -8
- package/dist/cjs/providers/s3/apis/internal/copy.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/downloadData.js +59 -0
- package/dist/cjs/providers/s3/apis/internal/downloadData.js.map +1 -0
- package/dist/cjs/providers/s3/apis/internal/getProperties.js +5 -4
- package/dist/cjs/providers/s3/apis/internal/getProperties.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/getUrl.js +5 -3
- package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/list.js +20 -4
- package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/remove.js +5 -4
- package/dist/cjs/providers/s3/apis/internal/remove.js.map +1 -1
- package/dist/cjs/providers/s3/apis/internal/uploadData/byteLength.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/index.js +7 -7
- package/dist/cjs/providers/s3/apis/internal/uploadData/index.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/calculatePartSize.js +1 -1
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/calculatePartSize.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/getDataChunker.js +2 -2
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/getDataChunker.js.map +1 -0
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/index.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/initialUpload.js +26 -5
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/initialUpload.js.map +1 -0
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/progressTracker.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadCache.js +5 -4
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/uploadCache.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadHandlers.js +33 -14
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/uploadHandlers.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadPartExecutor.js +21 -11
- package/dist/cjs/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.js.map +1 -0
- package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/putObjectJob.js +26 -11
- package/dist/cjs/providers/s3/apis/internal/uploadData/putObjectJob.js.map +1 -0
- package/dist/cjs/providers/s3/apis/internal/uploadData/validateObjectNotExists.js +25 -0
- package/dist/cjs/providers/s3/apis/internal/uploadData/validateObjectNotExists.js.map +1 -0
- package/dist/cjs/providers/s3/apis/uploadData.js +12 -0
- package/dist/cjs/providers/s3/apis/uploadData.js.map +1 -0
- package/dist/cjs/providers/s3/index.js +3 -1
- package/dist/cjs/providers/s3/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/s3control/base.js +70 -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 +63 -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} +14 -3
- 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} +25 -3
- 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} +29 -13
- 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} +27 -3
- 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} +15 -3
- 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} +12 -3
- 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} +12 -3
- 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} +12 -3
- 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} +15 -3
- 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} +3 -8
- 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} +13 -3
- 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} +14 -4
- package/dist/cjs/providers/s3/utils/client/s3data/uploadPart.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/utils/createRetryDecider.js +57 -0
- package/dist/cjs/providers/s3/utils/client/utils/createRetryDecider.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js +46 -1
- package/dist/cjs/providers/s3/utils/client/utils/deserializeHelpers.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/index.js +7 -2
- package/dist/cjs/providers/s3/utils/client/utils/index.js.map +1 -1
- package/dist/cjs/providers/s3/utils/client/utils/integrityHelpers.js +60 -0
- package/dist/cjs/providers/s3/utils/client/utils/integrityHelpers.js.map +1 -0
- package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js +20 -6
- package/dist/cjs/providers/s3/utils/client/utils/parsePayload.js.map +1 -1
- package/dist/cjs/providers/s3/utils/constants.js +3 -0
- package/dist/cjs/providers/s3/utils/constants.js.map +1 -1
- 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/index.js +3 -1
- package/dist/cjs/providers/s3/utils/index.js.map +1 -1
- 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 +59 -13
- package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
- package/dist/cjs/providers/s3/utils/validateBucketOwnerID.js +17 -0
- package/dist/cjs/providers/s3/utils/validateBucketOwnerID.js.map +1 -0
- package/dist/cjs/providers/s3/utils/validateMultipartUploadXML.js +27 -0
- package/dist/cjs/providers/s3/utils/validateMultipartUploadXML.js.map +1 -0
- package/dist/cjs/providers/s3/utils/validateObjectUrl.js +24 -0
- package/dist/cjs/providers/s3/utils/validateObjectUrl.js.map +1 -0
- 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/esm/errors/IntegrityError.d.ts +5 -0
- package/dist/esm/errors/IntegrityError.mjs +20 -0
- package/dist/esm/errors/IntegrityError.mjs.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 +5 -1
- package/dist/esm/errors/types/validation.mjs +16 -0
- package/dist/esm/errors/types/validation.mjs.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/internals/apis/copy.d.ts +5 -0
- package/dist/esm/internals/apis/copy.mjs +31 -0
- package/dist/esm/internals/apis/copy.mjs.map +1 -0
- package/dist/esm/internals/apis/downloadData.d.ts +6 -0
- package/dist/esm/internals/apis/downloadData.mjs +23 -0
- package/dist/esm/internals/apis/downloadData.mjs.map +1 -0
- package/dist/esm/internals/apis/getDataAccess.d.ts +6 -0
- package/dist/esm/internals/apis/getDataAccess.mjs +60 -0
- package/dist/esm/internals/apis/getDataAccess.mjs.map +1 -0
- package/dist/esm/internals/apis/getProperties.d.ts +6 -0
- package/dist/esm/internals/apis/getProperties.mjs +22 -0
- package/dist/esm/internals/apis/getProperties.mjs.map +1 -0
- package/dist/esm/internals/apis/getUrl.d.ts +5 -0
- package/dist/esm/internals/apis/getUrl.mjs +27 -0
- package/dist/esm/internals/apis/getUrl.mjs.map +1 -0
- package/dist/esm/internals/apis/list.d.ts +10 -0
- package/dist/esm/internals/apis/list.mjs +30 -0
- package/dist/esm/internals/apis/list.mjs.map +1 -0
- package/dist/esm/internals/apis/listCallerAccessGrants.d.ts +6 -0
- package/dist/esm/internals/apis/listCallerAccessGrants.mjs +72 -0
- package/dist/esm/internals/apis/listCallerAccessGrants.mjs.map +1 -0
- package/dist/esm/internals/apis/remove.d.ts +6 -0
- package/dist/esm/internals/apis/remove.mjs +22 -0
- package/dist/esm/internals/apis/remove.mjs.map +1 -0
- package/dist/esm/internals/apis/uploadData.d.ts +5 -0
- package/dist/esm/internals/apis/uploadData.mjs +32 -0
- package/dist/esm/internals/apis/uploadData.mjs.map +1 -0
- package/dist/esm/internals/index.d.ts +18 -0
- package/dist/esm/internals/index.mjs +12 -0
- package/dist/esm/internals/index.mjs.map +1 -0
- package/dist/esm/internals/locationCredentialsStore/constants.d.ts +2 -0
- package/dist/esm/internals/locationCredentialsStore/constants.mjs +7 -0
- package/dist/esm/internals/locationCredentialsStore/constants.mjs.map +1 -0
- package/dist/esm/internals/locationCredentialsStore/create.d.ts +2 -0
- package/dist/esm/internals/locationCredentialsStore/create.mjs +34 -0
- package/dist/esm/internals/locationCredentialsStore/create.mjs.map +1 -0
- package/dist/esm/internals/locationCredentialsStore/index.d.ts +1 -0
- package/dist/esm/internals/locationCredentialsStore/index.mjs +2 -0
- package/dist/esm/internals/locationCredentialsStore/registry.d.ts +23 -0
- package/dist/esm/internals/locationCredentialsStore/registry.mjs +53 -0
- package/dist/esm/internals/locationCredentialsStore/registry.mjs.map +1 -0
- package/dist/esm/internals/locationCredentialsStore/store.d.ts +36 -0
- package/dist/esm/internals/locationCredentialsStore/store.mjs +96 -0
- package/dist/esm/internals/locationCredentialsStore/store.mjs.map +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createListLocationsHandler.d.ts +8 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createListLocationsHandler.mjs +13 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createListLocationsHandler.mjs.map +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.d.ts +8 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs +27 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs.map +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.d.ts +19 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs +30 -0
- package/dist/esm/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs.map +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/index.d.ts +1 -0
- package/dist/esm/internals/managedAuthConfigAdapter/index.mjs +2 -0
- package/dist/esm/internals/managedAuthConfigAdapter/index.mjs.map +1 -0
- package/dist/esm/internals/types/common.d.ts +16 -0
- package/dist/esm/internals/types/common.mjs +2 -0
- package/dist/esm/internals/types/common.mjs.map +1 -0
- package/dist/esm/internals/types/credentials.d.ts +86 -0
- package/dist/esm/internals/types/credentials.mjs +2 -0
- package/dist/esm/internals/types/credentials.mjs.map +1 -0
- package/dist/esm/internals/types/inputs.d.ts +92 -0
- package/dist/esm/internals/types/inputs.mjs +2 -0
- package/dist/esm/internals/types/inputs.mjs.map +1 -0
- package/dist/esm/internals/types/options.mjs +2 -0
- package/dist/esm/internals/types/options.mjs.map +1 -0
- package/dist/esm/internals/types/outputs.d.ts +38 -0
- package/dist/esm/internals/types/outputs.mjs +2 -0
- package/dist/esm/internals/types/outputs.mjs.map +1 -0
- package/dist/esm/internals/utils/constants.d.ts +2 -0
- package/dist/esm/internals/utils/constants.mjs +7 -0
- package/dist/esm/internals/utils/constants.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/downloadData.mjs +2 -66
- package/dist/esm/providers/s3/apis/downloadData.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/index.mjs +1 -1
- package/dist/esm/providers/s3/apis/internal/copy.d.ts +3 -2
- package/dist/esm/providers/s3/apis/internal/copy.mjs +67 -18
- package/dist/esm/providers/s3/apis/internal/copy.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/downloadData.d.ts +8 -0
- package/dist/esm/providers/s3/apis/internal/downloadData.mjs +77 -0
- package/dist/esm/providers/s3/apis/internal/downloadData.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/internal/getProperties.d.ts +3 -2
- package/dist/esm/providers/s3/apis/internal/getProperties.mjs +16 -14
- package/dist/esm/providers/s3/apis/internal/getProperties.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/getUrl.d.ts +3 -2
- package/dist/esm/providers/s3/apis/internal/getUrl.mjs +16 -13
- package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/list.d.ts +4 -2
- package/dist/esm/providers/s3/apis/internal/list.mjs +31 -14
- package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/remove.d.ts +3 -2
- package/dist/esm/providers/s3/apis/internal/remove.mjs +16 -14
- package/dist/esm/providers/s3/apis/internal/remove.mjs.map +1 -1
- package/dist/esm/providers/s3/apis/internal/uploadData/byteLength.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/index.d.ts +3 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/index.mjs +9 -9
- package/dist/esm/providers/s3/apis/internal/uploadData/index.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/calculatePartSize.mjs +1 -1
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/calculatePartSize.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/getDataChunker.d.ts +1 -1
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/getDataChunker.mjs +2 -2
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/getDataChunker.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/index.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/initialUpload.d.ts +6 -4
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/initialUpload.mjs +37 -16
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/initialUpload.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/progressTracker.d.ts +1 -1
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/progressTracker.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadCache.d.ts +4 -2
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadCache.mjs +16 -15
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadCache.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadHandlers.d.ts +2 -2
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadHandlers.mjs +45 -26
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadHandlers.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadPartExecutor.d.ts +6 -4
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.mjs +73 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/putObjectJob.d.ts +2 -2
- package/dist/esm/providers/s3/apis/internal/uploadData/putObjectJob.mjs +83 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/putObjectJob.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/validateObjectNotExists.d.ts +3 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/validateObjectNotExists.mjs +34 -0
- package/dist/esm/providers/s3/apis/internal/uploadData/validateObjectNotExists.mjs.map +1 -0
- package/dist/esm/providers/s3/apis/{uploadData/index.d.ts → uploadData.d.ts} +1 -1
- package/dist/esm/providers/s3/apis/uploadData.mjs +10 -0
- package/dist/esm/providers/s3/apis/uploadData.mjs.map +1 -0
- package/dist/esm/providers/s3/index.d.ts +1 -0
- package/dist/esm/providers/s3/index.mjs +2 -1
- package/dist/esm/providers/s3/index.mjs.map +1 -1
- package/dist/esm/providers/s3/types/options.d.ts +34 -1
- package/dist/esm/providers/s3/utils/client/s3control/base.d.ts +56 -0
- package/dist/esm/providers/s3/utils/client/s3control/base.mjs +74 -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 +67 -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 +188 -0
- package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.d.ts → s3data/abortMultipartUpload.d.ts} +5 -5
- package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.mjs → s3data/abortMultipartUpload.mjs} +17 -7
- 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} +23 -1
- package/dist/esm/providers/s3/utils/client/{base.mjs → s3data/base.mjs} +29 -6
- 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} +32 -16
- 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} +6 -5
- package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs +71 -0
- 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} +19 -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} +5 -5
- package/dist/esm/providers/s3/utils/client/{deleteObject.mjs → s3data/deleteObject.mjs} +15 -7
- 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} +5 -5
- package/dist/esm/providers/s3/utils/client/{getObject.mjs → s3data/getObject.mjs} +16 -8
- 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} +5 -5
- package/dist/esm/providers/s3/utils/client/{headObject.mjs → s3data/headObject.mjs} +15 -7
- 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} +19 -7
- 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} +6 -11
- 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} +16 -7
- 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} +17 -8
- package/dist/esm/providers/s3/utils/client/s3data/uploadPart.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.d.ts +22 -0
- package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.mjs +55 -0
- package/dist/esm/providers/s3/utils/client/utils/createRetryDecider.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.d.ts +24 -0
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs +44 -1
- package/dist/esm/providers/s3/utils/client/utils/deserializeHelpers.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/index.d.ts +4 -2
- package/dist/esm/providers/s3/utils/client/utils/index.mjs +4 -2
- package/dist/esm/providers/s3/utils/client/utils/index.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/client/utils/integrityHelpers.d.ts +20 -0
- package/dist/esm/providers/s3/utils/client/utils/integrityHelpers.mjs +54 -0
- package/dist/esm/providers/s3/utils/client/utils/integrityHelpers.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/client/utils/parsePayload.d.ts +16 -1
- package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs +19 -5
- package/dist/esm/providers/s3/utils/client/utils/parsePayload.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/constants.d.ts +3 -0
- package/dist/esm/providers/s3/utils/constants.mjs +3 -0
- package/dist/esm/providers/s3/utils/constants.mjs.map +1 -1
- 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/index.d.ts +1 -0
- package/dist/esm/providers/s3/utils/index.mjs +1 -0
- package/dist/esm/providers/s3/utils/index.mjs.map +1 -1
- 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 +10 -2
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs +57 -11
- package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
- package/dist/esm/providers/s3/utils/validateBucketOwnerID.d.ts +1 -0
- package/dist/esm/providers/s3/utils/validateBucketOwnerID.mjs +15 -0
- package/dist/esm/providers/s3/utils/validateBucketOwnerID.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/validateMultipartUploadXML.d.ts +2 -0
- package/dist/esm/providers/s3/utils/validateMultipartUploadXML.mjs +30 -0
- package/dist/esm/providers/s3/utils/validateMultipartUploadXML.mjs.map +1 -0
- package/dist/esm/providers/s3/utils/validateObjectUrl.d.ts +5 -0
- package/dist/esm/providers/s3/utils/validateObjectUrl.mjs +22 -0
- package/dist/esm/providers/s3/utils/validateObjectUrl.mjs.map +1 -0
- 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/types/inputs.d.ts +3 -7
- package/internals/package.json +7 -0
- package/package.json +118 -107
- package/src/errors/IntegrityError.ts +25 -0
- package/src/errors/constants.ts +4 -0
- package/src/errors/types/validation.ts +16 -0
- package/src/index.ts +2 -0
- package/src/internals/apis/copy.ts +33 -0
- package/src/internals/apis/downloadData.ts +24 -0
- package/src/internals/apis/getDataAccess.ts +82 -0
- package/src/internals/apis/getProperties.ts +26 -0
- package/src/internals/apis/getUrl.ts +30 -0
- package/src/internals/apis/list.ts +46 -0
- package/src/internals/apis/listCallerAccessGrants.ts +95 -0
- package/src/internals/apis/remove.ts +24 -0
- package/src/internals/apis/uploadData.ts +34 -0
- package/src/internals/index.ts +67 -0
- package/src/internals/locationCredentialsStore/constants.ts +5 -0
- package/src/internals/locationCredentialsStore/create.ts +54 -0
- package/src/internals/locationCredentialsStore/index.ts +4 -0
- package/src/internals/locationCredentialsStore/registry.ts +89 -0
- package/src/internals/locationCredentialsStore/store.ts +159 -0
- package/src/internals/managedAuthConfigAdapter/createListLocationsHandler.ts +21 -0
- package/src/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.ts +40 -0
- package/src/internals/managedAuthConfigAdapter/createManagedAuthConfigAdapter.ts +53 -0
- package/src/internals/managedAuthConfigAdapter/index.ts +8 -0
- package/src/internals/types/common.ts +22 -0
- package/src/internals/types/credentials.ts +109 -0
- package/src/internals/types/inputs.ts +153 -0
- package/src/internals/types/options.ts +2 -0
- package/src/internals/types/outputs.ts +60 -0
- package/src/internals/utils/constants.ts +5 -0
- package/src/providers/s3/apis/downloadData.ts +3 -84
- package/src/providers/s3/apis/internal/copy.ts +71 -15
- package/src/providers/s3/apis/internal/downloadData.ts +96 -0
- package/src/providers/s3/apis/internal/getProperties.ts +10 -5
- package/src/providers/s3/apis/internal/getUrl.ts +9 -9
- package/src/providers/s3/apis/internal/list.ts +38 -17
- package/src/providers/s3/apis/internal/remove.ts +9 -10
- package/src/providers/s3/apis/internal/uploadData/index.ts +53 -0
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/calculatePartSize.ts +4 -1
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/getDataChunker.ts +3 -3
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/initialUpload.ts +40 -5
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/progressTracker.ts +1 -1
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadCache.ts +7 -4
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadHandlers.ts +53 -26
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/uploadPartExecutor.ts +29 -10
- package/src/providers/s3/apis/{uploadData → internal/uploadData}/putObjectJob.ts +32 -11
- package/src/providers/s3/apis/internal/uploadData/validateObjectNotExists.ts +25 -0
- package/src/providers/s3/apis/{uploadData/index.ts → uploadData.ts} +3 -42
- package/src/providers/s3/index.ts +2 -0
- package/src/providers/s3/types/options.ts +47 -1
- package/src/providers/s3/utils/client/s3control/base.ts +97 -0
- package/src/providers/s3/utils/client/s3control/getDataAccess.ts +96 -0
- package/src/providers/s3/utils/client/s3control/index.ts +13 -0
- package/src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts +107 -0
- package/src/providers/s3/utils/client/s3control/types.ts +216 -0
- package/src/providers/s3/utils/client/{abortMultipartUpload.ts → s3data/abortMultipartUpload.ts} +18 -6
- package/src/providers/s3/utils/client/{base.ts → s3data/base.ts} +26 -3
- package/src/providers/s3/utils/client/{completeMultipartUpload.ts → s3data/completeMultipartUpload.ts} +47 -22
- package/src/providers/s3/utils/client/{copyObject.ts → s3data/copyObject.ts} +47 -4
- package/src/providers/s3/utils/client/{createMultipartUpload.ts → s3data/createMultipartUpload.ts} +22 -9
- package/src/providers/s3/utils/client/{deleteObject.ts → s3data/deleteObject.ts} +19 -9
- package/src/providers/s3/utils/client/{getObject.ts → s3data/getObject.ts} +24 -9
- package/src/providers/s3/utils/client/{headObject.ts → s3data/headObject.ts} +19 -6
- package/src/providers/s3/utils/client/{listObjectsV2.ts → s3data/listObjectsV2.ts} +33 -8
- package/src/providers/s3/utils/client/{listParts.ts → s3data/listParts.ts} +5 -18
- package/src/providers/s3/utils/client/{putObject.ts → s3data/putObject.ts} +17 -5
- package/src/providers/s3/utils/client/{uploadPart.ts → s3data/uploadPart.ts} +24 -7
- package/src/providers/s3/utils/client/utils/createRetryDecider.ts +96 -0
- package/src/providers/s3/utils/client/utils/deserializeHelpers.ts +57 -0
- package/src/providers/s3/utils/client/utils/index.ts +4 -1
- package/src/providers/s3/utils/client/utils/integrityHelpers.ts +62 -0
- package/src/providers/s3/utils/client/utils/parsePayload.ts +36 -18
- package/src/providers/s3/utils/constants.ts +3 -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/index.ts +1 -0
- package/src/providers/s3/utils/resolveIdentityId.ts +11 -0
- package/src/providers/s3/utils/resolveS3ConfigAndInput.ts +109 -14
- package/src/providers/s3/utils/validateBucketOwnerID.ts +18 -0
- package/src/providers/s3/utils/validateMultipartUploadXML.ts +36 -0
- package/src/providers/s3/utils/validateObjectUrl.ts +32 -0
- package/src/providers/s3/utils/validateStorageOperationInput.ts +5 -1
- package/src/providers/s3/utils/validateStorageOperationInputWithPrefix.ts +5 -1
- package/src/types/inputs.ts +6 -3
- package/dist/cjs/providers/s3/apis/uploadData/byteLength.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/index.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/calculatePartSize.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/getDataChunker.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/index.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/progressTracker.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js.map +0 -1
- package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js.map +0 -1
- 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/apis/uploadData/byteLength.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/index.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/calculatePartSize.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/getDataChunker.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/progressTracker.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs +0 -63
- package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs.map +0 -1
- package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs +0 -67
- package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs.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 +0 -47
- 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/apis/{uploadData → internal/uploadData}/byteLength.js +0 -0
- /package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/index.js +0 -0
- /package/dist/cjs/providers/s3/apis/{uploadData → internal/uploadData}/multipart/progressTracker.js +0 -0
- /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/apis/uploadData/multipart → internals/locationCredentialsStore}/index.mjs.map +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/byteLength.d.ts +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/byteLength.mjs +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/calculatePartSize.d.ts +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/index.d.ts +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/index.mjs +0 -0
- /package/dist/esm/providers/s3/apis/{uploadData → internal/uploadData}/multipart/progressTracker.mjs +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/apis/{uploadData → internal/uploadData}/byteLength.ts +0 -0
- /package/src/providers/s3/apis/{uploadData → internal/uploadData}/multipart/index.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,6 @@
|
|
|
1
|
+
import { ListCallerAccessGrantsInput } from '../types/inputs';
|
|
2
|
+
import { ListCallerAccessGrantsOutput } from '../types/outputs';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare const listCallerAccessGrants: (input: ListCallerAccessGrantsInput) => Promise<ListCallerAccessGrantsOutput>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { StorageAction } from '@aws-amplify/core/internals/utils';
|
|
2
|
+
import '../../errors/types/validation.mjs';
|
|
3
|
+
import { StorageError } from '../../errors/StorageError.mjs';
|
|
4
|
+
import { logger } from '../../utils/logger.mjs';
|
|
5
|
+
import '../../providers/s3/utils/client/s3control/getDataAccess.mjs';
|
|
6
|
+
import { listCallerAccessGrants as listCallerAccessGrants$1 } from '../../providers/s3/utils/client/s3control/listCallerAccessGrants.mjs';
|
|
7
|
+
import { getStorageUserAgentValue } from '../../providers/s3/utils/userAgent.mjs';
|
|
8
|
+
import { MAX_PAGE_SIZE } from '../utils/constants.mjs';
|
|
9
|
+
|
|
10
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
11
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
const listCallerAccessGrants = async (input) => {
|
|
16
|
+
const { credentialsProvider, accountId, region, nextToken, pageSize } = input;
|
|
17
|
+
logger.debug(`listing available locations from account ${input.accountId}`);
|
|
18
|
+
if (!!pageSize && pageSize > MAX_PAGE_SIZE) {
|
|
19
|
+
logger.debug(`defaulting pageSize to ${MAX_PAGE_SIZE}.`);
|
|
20
|
+
}
|
|
21
|
+
const clientCredentialsProvider = async (options) => {
|
|
22
|
+
const { credentials } = await credentialsProvider(options);
|
|
23
|
+
return credentials;
|
|
24
|
+
};
|
|
25
|
+
const { CallerAccessGrantsList, NextToken } = await listCallerAccessGrants$1({
|
|
26
|
+
credentials: clientCredentialsProvider,
|
|
27
|
+
region,
|
|
28
|
+
userAgentValue: getStorageUserAgentValue(StorageAction.ListCallerAccessGrants),
|
|
29
|
+
}, {
|
|
30
|
+
AccountId: accountId,
|
|
31
|
+
NextToken: nextToken,
|
|
32
|
+
MaxResults: pageSize ?? MAX_PAGE_SIZE,
|
|
33
|
+
});
|
|
34
|
+
const accessGrants = CallerAccessGrantsList?.map(grant => {
|
|
35
|
+
assertGrantScope(grant.GrantScope);
|
|
36
|
+
return {
|
|
37
|
+
scope: grant.GrantScope,
|
|
38
|
+
permission: grant.Permission,
|
|
39
|
+
type: parseGrantType(grant.GrantScope),
|
|
40
|
+
};
|
|
41
|
+
}) ?? [];
|
|
42
|
+
return {
|
|
43
|
+
locations: accessGrants,
|
|
44
|
+
nextToken: NextToken,
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
const parseGrantType = (grantScope) => {
|
|
48
|
+
const bucketScopeReg = /^s3:\/\/(.*)\/\*$/;
|
|
49
|
+
const possibleBucketName = grantScope.match(bucketScopeReg)?.[1];
|
|
50
|
+
if (!grantScope.endsWith('*')) {
|
|
51
|
+
return 'OBJECT';
|
|
52
|
+
}
|
|
53
|
+
else if (grantScope.endsWith('/*') &&
|
|
54
|
+
possibleBucketName &&
|
|
55
|
+
possibleBucketName.indexOf('/') === -1) {
|
|
56
|
+
return 'BUCKET';
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return 'PREFIX';
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
function assertGrantScope(value) {
|
|
63
|
+
if (typeof value !== 'string' || !value.startsWith('s3://')) {
|
|
64
|
+
throw new StorageError({
|
|
65
|
+
name: 'InvalidGrantScope',
|
|
66
|
+
message: `Expected a valid grant scope, got ${value}`,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export { listCallerAccessGrants };
|
|
72
|
+
//# sourceMappingURL=listCallerAccessGrants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listCallerAccessGrants.mjs","sources":["../../../../src/internals/apis/listCallerAccessGrants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StorageAction } from '@aws-amplify/core/internals/utils';\nimport { logger } from '../../utils';\nimport { listCallerAccessGrants as listCallerAccessGrantsClient } from '../../providers/s3/utils/client/s3control';\nimport { StorageError } from '../../errors/StorageError';\nimport { getStorageUserAgentValue } from '../../providers/s3/utils/userAgent';\nimport { MAX_PAGE_SIZE } from '../utils/constants';\n/**\n * @internal\n */\nexport const listCallerAccessGrants = async (input) => {\n const { credentialsProvider, accountId, region, nextToken, pageSize } = input;\n logger.debug(`listing available locations from account ${input.accountId}`);\n if (!!pageSize && pageSize > MAX_PAGE_SIZE) {\n logger.debug(`defaulting pageSize to ${MAX_PAGE_SIZE}.`);\n }\n const clientCredentialsProvider = async (options) => {\n const { credentials } = await credentialsProvider(options);\n return credentials;\n };\n const { CallerAccessGrantsList, NextToken } = await listCallerAccessGrantsClient({\n credentials: clientCredentialsProvider,\n region,\n userAgentValue: getStorageUserAgentValue(StorageAction.ListCallerAccessGrants),\n }, {\n AccountId: accountId,\n NextToken: nextToken,\n MaxResults: pageSize ?? MAX_PAGE_SIZE,\n });\n const accessGrants = CallerAccessGrantsList?.map(grant => {\n assertGrantScope(grant.GrantScope);\n return {\n scope: grant.GrantScope,\n permission: grant.Permission,\n type: parseGrantType(grant.GrantScope),\n };\n }) ?? [];\n return {\n locations: accessGrants,\n nextToken: NextToken,\n };\n};\nconst parseGrantType = (grantScope) => {\n const bucketScopeReg = /^s3:\\/\\/(.*)\\/\\*$/;\n const possibleBucketName = grantScope.match(bucketScopeReg)?.[1];\n if (!grantScope.endsWith('*')) {\n return 'OBJECT';\n }\n else if (grantScope.endsWith('/*') &&\n possibleBucketName &&\n possibleBucketName.indexOf('/') === -1) {\n return 'BUCKET';\n }\n else {\n return 'PREFIX';\n }\n};\nfunction assertGrantScope(value) {\n if (typeof value !== 'string' || !value.startsWith('s3://')) {\n throw new StorageError({\n name: 'InvalidGrantScope',\n message: `Expected a valid grant scope, got ${value}`,\n });\n }\n}\n"],"names":["listCallerAccessGrantsClient"],"mappings":";;;;;;;;;AAAA;AACA;AAOA;AACA;AACA;AACY,MAAC,sBAAsB,GAAG,OAAO,KAAK,KAAK;AACvD,IAAI,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AAClF,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,yCAAyC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAChF,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,GAAG,aAAa,EAAE;AAChD,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,KAAK;AACL,IAAI,MAAM,yBAAyB,GAAG,OAAO,OAAO,KAAK;AACzD,QAAQ,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACnE,QAAQ,OAAO,WAAW,CAAC;AAC3B,KAAK,CAAC;AACN,IAAI,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,GAAG,MAAMA,wBAA4B,CAAC;AACrF,QAAQ,WAAW,EAAE,yBAAyB;AAC9C,QAAQ,MAAM;AACd,QAAQ,cAAc,EAAE,wBAAwB,CAAC,aAAa,CAAC,sBAAsB,CAAC;AACtF,KAAK,EAAE;AACP,QAAQ,SAAS,EAAE,SAAS;AAC5B,QAAQ,SAAS,EAAE,SAAS;AAC5B,QAAQ,UAAU,EAAE,QAAQ,IAAI,aAAa;AAC7C,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,YAAY,GAAG,sBAAsB,EAAE,GAAG,CAAC,KAAK,IAAI;AAC9D,QAAQ,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC3C,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,KAAK,CAAC,UAAU;AACnC,YAAY,UAAU,EAAE,KAAK,CAAC,UAAU;AACxC,YAAY,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;AAClD,SAAS,CAAC;AACV,KAAK,CAAC,IAAI,EAAE,CAAC;AACb,IAAI,OAAO;AACX,QAAQ,SAAS,EAAE,YAAY;AAC/B,QAAQ,SAAS,EAAE,SAAS;AAC5B,KAAK,CAAC;AACN,EAAE;AACF,MAAM,cAAc,GAAG,CAAC,UAAU,KAAK;AACvC,IAAI,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAC/C,IAAI,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACnC,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;AACtC,QAAQ,kBAAkB;AAC1B,QAAQ,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;AAChD,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL,CAAC,CAAC;AACF,SAAS,gBAAgB,CAAC,KAAK,EAAE;AACjC,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AACjE,QAAQ,MAAM,IAAI,YAAY,CAAC;AAC/B,YAAY,IAAI,EAAE,mBAAmB;AACrC,YAAY,OAAO,EAAE,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;AACjE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Amplify } from '@aws-amplify/core';
|
|
2
|
+
import { remove as remove$1 } from '../../providers/s3/apis/internal/remove.mjs';
|
|
3
|
+
|
|
4
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
const remove = (input) => remove$1(Amplify, {
|
|
10
|
+
path: input.path,
|
|
11
|
+
options: {
|
|
12
|
+
useAccelerateEndpoint: input?.options?.useAccelerateEndpoint,
|
|
13
|
+
bucket: input?.options?.bucket,
|
|
14
|
+
expectedBucketOwner: input?.options?.expectedBucketOwner,
|
|
15
|
+
locationCredentialsProvider: input?.options?.locationCredentialsProvider,
|
|
16
|
+
},
|
|
17
|
+
// Type casting is necessary because `removeInternal` supports both Gen1 and Gen2 signatures, but here
|
|
18
|
+
// given in input can only be Gen2 signature, the return can only ben Gen2 signature.
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
export { remove };
|
|
22
|
+
//# sourceMappingURL=remove.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.mjs","sources":["../../../../src/internals/apis/remove.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { remove as removeInternal } from '../../providers/s3/apis/internal/remove';\n/**\n * @internal\n */\nexport const remove = (input) => removeInternal(Amplify, {\n path: input.path,\n options: {\n useAccelerateEndpoint: input?.options?.useAccelerateEndpoint,\n bucket: input?.options?.bucket,\n expectedBucketOwner: input?.options?.expectedBucketOwner,\n locationCredentialsProvider: input?.options?.locationCredentialsProvider,\n },\n // Type casting is necessary because `removeInternal` supports both Gen1 and Gen2 signatures, but here\n // given in input can only be Gen2 signature, the return can only ben Gen2 signature.\n});\n"],"names":["removeInternal"],"mappings":";;;AAAA;AACA;AAGA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,KAAK,KAAKA,QAAc,CAAC,OAAO,EAAE;AACzD,IAAI,IAAI,EAAE,KAAK,CAAC,IAAI;AACpB,IAAI,OAAO,EAAE;AACb,QAAQ,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB;AACpE,QAAQ,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM;AACtC,QAAQ,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB;AAChE,QAAQ,2BAA2B,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B;AAChF,KAAK;AACL;AACA;AACA,CAAC;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { uploadData as uploadData$1 } from '../../providers/s3/apis/internal/uploadData/index.mjs';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
const uploadData = (input) => {
|
|
9
|
+
const { data, path, options } = input;
|
|
10
|
+
return uploadData$1({
|
|
11
|
+
path,
|
|
12
|
+
data,
|
|
13
|
+
options: {
|
|
14
|
+
useAccelerateEndpoint: options?.useAccelerateEndpoint,
|
|
15
|
+
bucket: options?.bucket,
|
|
16
|
+
onProgress: options?.onProgress,
|
|
17
|
+
contentDisposition: options?.contentDisposition,
|
|
18
|
+
contentEncoding: options?.contentEncoding,
|
|
19
|
+
contentType: options?.contentType,
|
|
20
|
+
metadata: options?.metadata,
|
|
21
|
+
preventOverwrite: options?.preventOverwrite,
|
|
22
|
+
expectedBucketOwner: options?.expectedBucketOwner,
|
|
23
|
+
// Advanced options
|
|
24
|
+
locationCredentialsProvider: options?.locationCredentialsProvider,
|
|
25
|
+
},
|
|
26
|
+
// Type casting is necessary because `uploadDataInternal` supports both Gen1 and Gen2 signatures, but here
|
|
27
|
+
// given in input can only be Gen2 signature, the return can only ben Gen2 signature.
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { uploadData };
|
|
32
|
+
//# sourceMappingURL=uploadData.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploadData.mjs","sources":["../../../../src/internals/apis/uploadData.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { uploadData as uploadDataInternal } from '../../providers/s3/apis/internal/uploadData';\n/**\n * @internal\n */\nexport const uploadData = (input) => {\n const { data, path, options } = input;\n return uploadDataInternal({\n path,\n data,\n options: {\n useAccelerateEndpoint: options?.useAccelerateEndpoint,\n bucket: options?.bucket,\n onProgress: options?.onProgress,\n contentDisposition: options?.contentDisposition,\n contentEncoding: options?.contentEncoding,\n contentType: options?.contentType,\n metadata: options?.metadata,\n preventOverwrite: options?.preventOverwrite,\n expectedBucketOwner: options?.expectedBucketOwner,\n // Advanced options\n locationCredentialsProvider: options?.locationCredentialsProvider,\n },\n // Type casting is necessary because `uploadDataInternal` supports both Gen1 and Gen2 signatures, but here\n // given in input can only be Gen2 signature, the return can only ben Gen2 signature.\n });\n};\n"],"names":["uploadDataInternal"],"mappings":";;AAAA;AACA;AAEA;AACA;AACA;AACY,MAAC,UAAU,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AAC1C,IAAI,OAAOA,YAAkB,CAAC;AAC9B,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,OAAO,EAAE;AACjB,YAAY,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;AACjE,YAAY,MAAM,EAAE,OAAO,EAAE,MAAM;AACnC,YAAY,UAAU,EAAE,OAAO,EAAE,UAAU;AAC3C,YAAY,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;AAC3D,YAAY,eAAe,EAAE,OAAO,EAAE,eAAe;AACrD,YAAY,WAAW,EAAE,OAAO,EAAE,WAAW;AAC7C,YAAY,QAAQ,EAAE,OAAO,EAAE,QAAQ;AACvC,YAAY,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;AACvD,YAAY,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;AAC7D;AACA,YAAY,2BAA2B,EAAE,OAAO,EAAE,2BAA2B;AAC7E,SAAS;AACT;AACA;AACA,KAAK,CAAC,CAAC;AACP;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { LocationCredentialsProvider } from '../providers/s3/types/options';
|
|
2
|
+
export { StorageSubpathStrategy } from '../types/options';
|
|
3
|
+
export { Permission } from './types/common';
|
|
4
|
+
export { GetDataAccessInput, ListCallerAccessGrantsInput, GetPropertiesInput, GetUrlInput, CopyInput, ListInput, ListAllInput, ListPaginateInput, RemoveInput, UploadDataInput, DownloadDataInput, } from './types/inputs';
|
|
5
|
+
export { GetDataAccessOutput, ListCallerAccessGrantsOutput, GetPropertiesOutput, GetUrlOutput, RemoveOutput, UploadDataOutput, DownloadDataOutput, ListOutput, CopyOutput, } from './types/outputs';
|
|
6
|
+
export { getDataAccess } from './apis/getDataAccess';
|
|
7
|
+
export { listCallerAccessGrants } from './apis/listCallerAccessGrants';
|
|
8
|
+
export { list } from './apis/list';
|
|
9
|
+
export { getProperties } from './apis/getProperties';
|
|
10
|
+
export { getUrl } from './apis/getUrl';
|
|
11
|
+
export { remove } from './apis/remove';
|
|
12
|
+
export { uploadData } from './apis/uploadData';
|
|
13
|
+
export { downloadData } from './apis/downloadData';
|
|
14
|
+
export { copy } from './apis/copy';
|
|
15
|
+
export { createLocationCredentialsStore } from './locationCredentialsStore';
|
|
16
|
+
export { AuthConfigAdapter, createManagedAuthConfigAdapter, CreateManagedAuthConfigAdapterInput, } from './managedAuthConfigAdapter';
|
|
17
|
+
export { GetLocationCredentials, ListLocations, LocationCredentialsStore, CreateLocationCredentialsStoreInput, LocationCredentials, ListLocationsInput, ListLocationsOutput, GetLocationCredentialsInput, GetLocationCredentialsOutput, } from './types/credentials';
|
|
18
|
+
export { AWSTemporaryCredentials } from '../providers/s3/types/options';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { getDataAccess } from './apis/getDataAccess.mjs';
|
|
2
|
+
export { listCallerAccessGrants } from './apis/listCallerAccessGrants.mjs';
|
|
3
|
+
export { list } from './apis/list.mjs';
|
|
4
|
+
export { getProperties } from './apis/getProperties.mjs';
|
|
5
|
+
export { getUrl } from './apis/getUrl.mjs';
|
|
6
|
+
export { remove } from './apis/remove.mjs';
|
|
7
|
+
export { uploadData } from './apis/uploadData.mjs';
|
|
8
|
+
export { downloadData } from './apis/downloadData.mjs';
|
|
9
|
+
export { copy } from './apis/copy.mjs';
|
|
10
|
+
export { createLocationCredentialsStore } from './locationCredentialsStore/create.mjs';
|
|
11
|
+
export { createManagedAuthConfigAdapter } from './managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs';
|
|
12
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
const CREDENTIALS_STORE_DEFAULT_SIZE = 10;
|
|
4
|
+
const CREDENTIALS_REFRESH_WINDOW_MS = 30000;
|
|
5
|
+
|
|
6
|
+
export { CREDENTIALS_REFRESH_WINDOW_MS, CREDENTIALS_STORE_DEFAULT_SIZE };
|
|
7
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../src/internals/locationCredentialsStore/constants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const CREDENTIALS_STORE_DEFAULT_SIZE = 10;\nexport const CREDENTIALS_REFRESH_WINDOW_MS = 30000;\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,8BAA8B,GAAG,GAAG;AACrC,MAAC,6BAA6B,GAAG;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { StorageValidationErrorCode } from '../../errors/types/validation.mjs';
|
|
2
|
+
import { assertValidationError } from '../../errors/utils/assertValidationError.mjs';
|
|
3
|
+
import { createStore, removeStore, getValue } from './registry.mjs';
|
|
4
|
+
|
|
5
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
const createLocationCredentialsStore = (input) => {
|
|
8
|
+
const storeSymbol = createStore(input.handler);
|
|
9
|
+
const store = {
|
|
10
|
+
getProvider(providerLocation) {
|
|
11
|
+
const locationCredentialsProvider = async ({ forceRefresh = false, } = {}) => {
|
|
12
|
+
validateS3Uri(providerLocation.scope);
|
|
13
|
+
// TODO(@AllanZhengYP): validate the action bucket and paths matches provider scope.
|
|
14
|
+
return getValue({
|
|
15
|
+
storeSymbol,
|
|
16
|
+
location: { ...providerLocation },
|
|
17
|
+
forceRefresh,
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
return locationCredentialsProvider;
|
|
21
|
+
},
|
|
22
|
+
destroy() {
|
|
23
|
+
removeStore(storeSymbol);
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
return store;
|
|
27
|
+
};
|
|
28
|
+
const validateS3Uri = (uri) => {
|
|
29
|
+
const s3UrlSchemaRegex = /^s3:\/\/[^/]+/;
|
|
30
|
+
assertValidationError(s3UrlSchemaRegex.test(uri), StorageValidationErrorCode.InvalidS3Uri);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { createLocationCredentialsStore };
|
|
34
|
+
//# sourceMappingURL=create.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.mjs","sources":["../../../../src/internals/locationCredentialsStore/create.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StorageValidationErrorCode } from '../../errors/types/validation';\nimport { assertValidationError } from '../../errors/utils/assertValidationError';\nimport { createStore, getValue, removeStore } from './registry';\nexport const createLocationCredentialsStore = (input) => {\n const storeSymbol = createStore(input.handler);\n const store = {\n getProvider(providerLocation) {\n const locationCredentialsProvider = async ({ forceRefresh = false, } = {}) => {\n validateS3Uri(providerLocation.scope);\n // TODO(@AllanZhengYP): validate the action bucket and paths matches provider scope.\n return getValue({\n storeSymbol,\n location: { ...providerLocation },\n forceRefresh,\n });\n };\n return locationCredentialsProvider;\n },\n destroy() {\n removeStore(storeSymbol);\n },\n };\n return store;\n};\nconst validateS3Uri = (uri) => {\n const s3UrlSchemaRegex = /^s3:\\/\\/[^/]+/;\n assertValidationError(s3UrlSchemaRegex.test(uri), StorageValidationErrorCode.InvalidS3Uri);\n};\n"],"names":[],"mappings":";;;;AAAA;AACA;AAIY,MAAC,8BAA8B,GAAG,CAAC,KAAK,KAAK;AACzD,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACnD,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,WAAW,CAAC,gBAAgB,EAAE;AACtC,YAAY,MAAM,2BAA2B,GAAG,OAAO,EAAE,YAAY,GAAG,KAAK,GAAG,GAAG,EAAE,KAAK;AAC1F,gBAAgB,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACtD;AACA,gBAAgB,OAAO,QAAQ,CAAC;AAChC,oBAAoB,WAAW;AAC/B,oBAAoB,QAAQ,EAAE,EAAE,GAAG,gBAAgB,EAAE;AACrD,oBAAoB,YAAY;AAChC,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC;AACd,YAAY,OAAO,2BAA2B,CAAC;AAC/C,SAAS;AACT,QAAQ,OAAO,GAAG;AAClB,YAAY,WAAW,CAAC,WAAW,CAAC,CAAC;AACrC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,KAAK,CAAC;AACjB,EAAE;AACF,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK;AAC/B,IAAI,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAC7C,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;AAC/F,CAAC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createLocationCredentialsStore } from './create';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AWSTemporaryCredentials } from '../../providers/s3/types/options';
|
|
2
|
+
import { CredentialsLocation, GetLocationCredentials } from '../types/credentials';
|
|
3
|
+
interface StoreRegistrySymbol {
|
|
4
|
+
readonly value: symbol;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare const createStore: (refreshHandler: GetLocationCredentials, size?: number) => {
|
|
10
|
+
value: symbol;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare const getValue: (input: {
|
|
16
|
+
storeSymbol: StoreRegistrySymbol;
|
|
17
|
+
location: CredentialsLocation;
|
|
18
|
+
forceRefresh: boolean;
|
|
19
|
+
}) => Promise<{
|
|
20
|
+
credentials: AWSTemporaryCredentials;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const removeStore: (storeSymbol: StoreRegistrySymbol) => void;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { assertValidationError } from '../../errors/utils/assertValidationError.mjs';
|
|
2
|
+
import { StorageValidationErrorCode } from '../../errors/types/validation.mjs';
|
|
3
|
+
import { initStore, getCacheValue, fetchNewValue } from './store.mjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Keep all cache records for all instances of credentials store in a singleton
|
|
7
|
+
* so we can reliably de-reference from the memory when we destroy a store
|
|
8
|
+
* instance.
|
|
9
|
+
*/
|
|
10
|
+
const storeRegistry = new WeakMap();
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
const createStore = (refreshHandler, size) => {
|
|
15
|
+
const storeSymbol = { value: Symbol('LocationCredentialsStore') };
|
|
16
|
+
storeRegistry.set(storeSymbol, initStore(refreshHandler, size));
|
|
17
|
+
return storeSymbol;
|
|
18
|
+
};
|
|
19
|
+
const getLookUpLocations = (location) => {
|
|
20
|
+
const { scope, permission } = location;
|
|
21
|
+
const locations = [{ scope, permission }];
|
|
22
|
+
if (permission === 'READ' || permission === 'WRITE') {
|
|
23
|
+
locations.push({ scope, permission: 'READWRITE' });
|
|
24
|
+
}
|
|
25
|
+
return locations;
|
|
26
|
+
};
|
|
27
|
+
const getCredentialsStore = (storeSymbol) => {
|
|
28
|
+
assertValidationError(storeRegistry.has(storeSymbol), StorageValidationErrorCode.LocationCredentialsStoreDestroyed);
|
|
29
|
+
return storeRegistry.get(storeSymbol);
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
const getValue = async (input) => {
|
|
35
|
+
const { storeSymbol: storeReference, location, forceRefresh } = input;
|
|
36
|
+
const store = getCredentialsStore(storeReference);
|
|
37
|
+
if (!forceRefresh) {
|
|
38
|
+
const lookupLocations = getLookUpLocations(location);
|
|
39
|
+
for (const lookupLocation of lookupLocations) {
|
|
40
|
+
const credentials = getCacheValue(store, lookupLocation);
|
|
41
|
+
if (credentials !== null) {
|
|
42
|
+
return { credentials };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return fetchNewValue(store, location);
|
|
47
|
+
};
|
|
48
|
+
const removeStore = (storeSymbol) => {
|
|
49
|
+
storeRegistry.delete(storeSymbol);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { createStore, getValue, removeStore };
|
|
53
|
+
//# sourceMappingURL=registry.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.mjs","sources":["../../../../src/internals/locationCredentialsStore/registry.ts"],"sourcesContent":["import { assertValidationError } from '../../errors/utils/assertValidationError';\nimport { StorageValidationErrorCode } from '../../errors/types/validation';\nimport { fetchNewValue, getCacheValue, initStore, } from './store';\n/**\n * Keep all cache records for all instances of credentials store in a singleton\n * so we can reliably de-reference from the memory when we destroy a store\n * instance.\n */\nconst storeRegistry = new WeakMap();\n/**\n * @internal\n */\nexport const createStore = (refreshHandler, size) => {\n const storeSymbol = { value: Symbol('LocationCredentialsStore') };\n storeRegistry.set(storeSymbol, initStore(refreshHandler, size));\n return storeSymbol;\n};\nconst getLookUpLocations = (location) => {\n const { scope, permission } = location;\n const locations = [{ scope, permission }];\n if (permission === 'READ' || permission === 'WRITE') {\n locations.push({ scope, permission: 'READWRITE' });\n }\n return locations;\n};\nconst getCredentialsStore = (storeSymbol) => {\n assertValidationError(storeRegistry.has(storeSymbol), StorageValidationErrorCode.LocationCredentialsStoreDestroyed);\n return storeRegistry.get(storeSymbol);\n};\n/**\n * @internal\n */\nexport const getValue = async (input) => {\n const { storeSymbol: storeReference, location, forceRefresh } = input;\n const store = getCredentialsStore(storeReference);\n if (!forceRefresh) {\n const lookupLocations = getLookUpLocations(location);\n for (const lookupLocation of lookupLocations) {\n const credentials = getCacheValue(store, lookupLocation);\n if (credentials !== null) {\n return { credentials };\n }\n }\n }\n return fetchNewValue(store, location);\n};\nexport const removeStore = (storeSymbol) => {\n storeRegistry.delete(storeSymbol);\n};\n"],"names":[],"mappings":";;;;AAGA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AACpC;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,cAAc,EAAE,IAAI,KAAK;AACrD,IAAI,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC;AACtE,IAAI,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;AACpE,IAAI,OAAO,WAAW,CAAC;AACvB,EAAE;AACF,MAAM,kBAAkB,GAAG,CAAC,QAAQ,KAAK;AACzC,IAAI,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;AAC3C,IAAI,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9C,IAAI,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE;AACzD,QAAQ,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AACF,MAAM,mBAAmB,GAAG,CAAC,WAAW,KAAK;AAC7C,IAAI,qBAAqB,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,0BAA0B,CAAC,iCAAiC,CAAC,CAAC;AACxH,IAAI,OAAO,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC,CAAC;AACF;AACA;AACA;AACY,MAAC,QAAQ,GAAG,OAAO,KAAK,KAAK;AACzC,IAAI,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;AAC1E,IAAI,MAAM,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;AACtD,IAAI,IAAI,CAAC,YAAY,EAAE;AACvB,QAAQ,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC7D,QAAQ,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;AACtD,YAAY,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACrE,YAAY,IAAI,WAAW,KAAK,IAAI,EAAE;AACtC,gBAAgB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvC,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,OAAO,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC1C,EAAE;AACU,MAAC,WAAW,GAAG,CAAC,WAAW,KAAK;AAC5C,IAAI,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACtC;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CredentialsLocation, GetLocationCredentials } from '../types/credentials';
|
|
2
|
+
import { Permission } from '../types/common';
|
|
3
|
+
import { AWSTemporaryCredentials } from '../../providers/s3/types/options';
|
|
4
|
+
interface StoreValue extends CredentialsLocation {
|
|
5
|
+
credentials?: AWSTemporaryCredentials;
|
|
6
|
+
inflightCredentials?: Promise<{
|
|
7
|
+
credentials: AWSTemporaryCredentials;
|
|
8
|
+
}>;
|
|
9
|
+
}
|
|
10
|
+
type S3Uri = string;
|
|
11
|
+
type CacheKey = `${S3Uri}_${Permission}`;
|
|
12
|
+
/**
|
|
13
|
+
* LRU implementation for Location Credentials Store
|
|
14
|
+
* O(n) for get and set for simplicity.
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export interface LruLocationCredentialsStore {
|
|
19
|
+
capacity: number;
|
|
20
|
+
refreshHandler: GetLocationCredentials;
|
|
21
|
+
values: Map<CacheKey, StoreValue>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export declare const initStore: (refreshHandler: GetLocationCredentials, size?: number) => LruLocationCredentialsStore;
|
|
27
|
+
export declare const getCacheValue: (store: LruLocationCredentialsStore, location: CredentialsLocation) => AWSTemporaryCredentials | null;
|
|
28
|
+
/**
|
|
29
|
+
* Fetch new credentials value with refresh handler and cache the result in
|
|
30
|
+
* LRU cache.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export declare const fetchNewValue: (store: LruLocationCredentialsStore, location: CredentialsLocation) => Promise<{
|
|
34
|
+
credentials: AWSTemporaryCredentials;
|
|
35
|
+
}>;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { assertValidationError } from '../../errors/utils/assertValidationError.mjs';
|
|
2
|
+
import { StorageValidationErrorCode } from '../../errors/types/validation.mjs';
|
|
3
|
+
import { CREDENTIALS_STORE_DEFAULT_SIZE, CREDENTIALS_REFRESH_WINDOW_MS } from './constants.mjs';
|
|
4
|
+
|
|
5
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
const createCacheKey = (location) => `${location.scope}_${location.permission}`;
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
const initStore = (refreshHandler, size = CREDENTIALS_STORE_DEFAULT_SIZE) => {
|
|
12
|
+
assertValidationError(size > 0, StorageValidationErrorCode.InvalidLocationCredentialsCacheSize);
|
|
13
|
+
return {
|
|
14
|
+
capacity: size,
|
|
15
|
+
refreshHandler,
|
|
16
|
+
values: new Map(),
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
const getCacheValue = (store, location) => {
|
|
20
|
+
const cacheKey = createCacheKey(location);
|
|
21
|
+
const cachedValue = store.values.get(cacheKey);
|
|
22
|
+
const cachedCredentials = cachedValue?.credentials;
|
|
23
|
+
if (!cachedCredentials) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
// Delete and re-insert to key to map to indicate a latest reference in LRU.
|
|
27
|
+
store.values.delete(cacheKey);
|
|
28
|
+
if (!pastTTL(cachedCredentials)) {
|
|
29
|
+
// TODO(@AllanZhengYP): If the credential is still valid but will expire
|
|
30
|
+
// soon, we should return credentials AND dispatch a refresh.
|
|
31
|
+
store.values.set(cacheKey, cachedValue);
|
|
32
|
+
return cachedCredentials;
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
};
|
|
36
|
+
const pastTTL = (credentials) => {
|
|
37
|
+
const { expiration } = credentials;
|
|
38
|
+
return expiration.getTime() - CREDENTIALS_REFRESH_WINDOW_MS <= Date.now();
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Fetch new credentials value with refresh handler and cache the result in
|
|
42
|
+
* LRU cache.
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
45
|
+
const fetchNewValue = async (store, location) => {
|
|
46
|
+
const storeValues = store.values;
|
|
47
|
+
const key = createCacheKey(location);
|
|
48
|
+
if (!storeValues.has(key)) {
|
|
49
|
+
const newStoreValue = {
|
|
50
|
+
scope: location.scope,
|
|
51
|
+
permission: location.permission,
|
|
52
|
+
};
|
|
53
|
+
setCacheRecord(store, key, newStoreValue);
|
|
54
|
+
}
|
|
55
|
+
const storeValue = storeValues.get(key);
|
|
56
|
+
return dispatchRefresh(store.refreshHandler, storeValue, () => {
|
|
57
|
+
store.values.delete(key);
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
const dispatchRefresh = (refreshHandler, value, onRefreshFailure) => {
|
|
61
|
+
if (value.inflightCredentials) {
|
|
62
|
+
return value.inflightCredentials;
|
|
63
|
+
}
|
|
64
|
+
value.inflightCredentials = (async () => {
|
|
65
|
+
try {
|
|
66
|
+
const { credentials } = await refreshHandler({
|
|
67
|
+
scope: value.scope,
|
|
68
|
+
permission: value.permission,
|
|
69
|
+
});
|
|
70
|
+
value.credentials = credentials;
|
|
71
|
+
return { credentials };
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
onRefreshFailure();
|
|
75
|
+
throw e;
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
value.inflightCredentials = undefined;
|
|
79
|
+
}
|
|
80
|
+
})();
|
|
81
|
+
return value.inflightCredentials;
|
|
82
|
+
};
|
|
83
|
+
const setCacheRecord = (store, key, value) => {
|
|
84
|
+
if (store.capacity === store.values.size) {
|
|
85
|
+
// Pop least used entry. The Map's key are in insertion order.
|
|
86
|
+
// So first key is the last recently inserted.
|
|
87
|
+
const [oldestKey] = store.values.keys();
|
|
88
|
+
store.values.delete(oldestKey);
|
|
89
|
+
// TODO(@AllanZhengYP): Add log info when record is evicted.
|
|
90
|
+
}
|
|
91
|
+
// Add latest used value to the cache.
|
|
92
|
+
store.values.set(key, value);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export { fetchNewValue, getCacheValue, initStore };
|
|
96
|
+
//# sourceMappingURL=store.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.mjs","sources":["../../../../src/internals/locationCredentialsStore/store.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { assertValidationError } from '../../errors/utils/assertValidationError';\nimport { StorageValidationErrorCode } from '../../errors/types/validation';\nimport { CREDENTIALS_REFRESH_WINDOW_MS, CREDENTIALS_STORE_DEFAULT_SIZE, } from './constants';\nconst createCacheKey = (location) => `${location.scope}_${location.permission}`;\n/**\n * @internal\n */\nexport const initStore = (refreshHandler, size = CREDENTIALS_STORE_DEFAULT_SIZE) => {\n assertValidationError(size > 0, StorageValidationErrorCode.InvalidLocationCredentialsCacheSize);\n return {\n capacity: size,\n refreshHandler,\n values: new Map(),\n };\n};\nexport const getCacheValue = (store, location) => {\n const cacheKey = createCacheKey(location);\n const cachedValue = store.values.get(cacheKey);\n const cachedCredentials = cachedValue?.credentials;\n if (!cachedCredentials) {\n return null;\n }\n // Delete and re-insert to key to map to indicate a latest reference in LRU.\n store.values.delete(cacheKey);\n if (!pastTTL(cachedCredentials)) {\n // TODO(@AllanZhengYP): If the credential is still valid but will expire\n // soon, we should return credentials AND dispatch a refresh.\n store.values.set(cacheKey, cachedValue);\n return cachedCredentials;\n }\n return null;\n};\nconst pastTTL = (credentials) => {\n const { expiration } = credentials;\n return expiration.getTime() - CREDENTIALS_REFRESH_WINDOW_MS <= Date.now();\n};\n/**\n * Fetch new credentials value with refresh handler and cache the result in\n * LRU cache.\n * @internal\n */\nexport const fetchNewValue = async (store, location) => {\n const storeValues = store.values;\n const key = createCacheKey(location);\n if (!storeValues.has(key)) {\n const newStoreValue = {\n scope: location.scope,\n permission: location.permission,\n };\n setCacheRecord(store, key, newStoreValue);\n }\n const storeValue = storeValues.get(key);\n return dispatchRefresh(store.refreshHandler, storeValue, () => {\n store.values.delete(key);\n });\n};\nconst dispatchRefresh = (refreshHandler, value, onRefreshFailure) => {\n if (value.inflightCredentials) {\n return value.inflightCredentials;\n }\n value.inflightCredentials = (async () => {\n try {\n const { credentials } = await refreshHandler({\n scope: value.scope,\n permission: value.permission,\n });\n value.credentials = credentials;\n return { credentials };\n }\n catch (e) {\n onRefreshFailure();\n throw e;\n }\n finally {\n value.inflightCredentials = undefined;\n }\n })();\n return value.inflightCredentials;\n};\nconst setCacheRecord = (store, key, value) => {\n if (store.capacity === store.values.size) {\n // Pop least used entry. The Map's key are in insertion order.\n // So first key is the last recently inserted.\n const [oldestKey] = store.values.keys();\n store.values.delete(oldestKey);\n // TODO(@AllanZhengYP): Add log info when record is evicted.\n }\n // Add latest used value to the cache.\n store.values.set(key, value);\n};\n"],"names":[],"mappings":";;;;AAAA;AACA;AAIA,MAAM,cAAc,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAChF;AACA;AACA;AACY,MAAC,SAAS,GAAG,CAAC,cAAc,EAAE,IAAI,GAAG,8BAA8B,KAAK;AACpF,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,0BAA0B,CAAC,mCAAmC,CAAC,CAAC;AACpG,IAAI,OAAO;AACX,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,cAAc;AACtB,QAAQ,MAAM,EAAE,IAAI,GAAG,EAAE;AACzB,KAAK,CAAC;AACN,EAAE;AACU,MAAC,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;AAClD,IAAI,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC9C,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACnD,IAAI,MAAM,iBAAiB,GAAG,WAAW,EAAE,WAAW,CAAC;AACvD,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC5B,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL;AACA,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAClC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;AACrC;AACA;AACA,QAAQ,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAChD,QAAQ,OAAO,iBAAiB,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,EAAE;AACF,MAAM,OAAO,GAAG,CAAC,WAAW,KAAK;AACjC,IAAI,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;AACvC,IAAI,OAAO,UAAU,CAAC,OAAO,EAAE,GAAG,6BAA6B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AAC9E,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACY,MAAC,aAAa,GAAG,OAAO,KAAK,EAAE,QAAQ,KAAK;AACxD,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;AACrC,IAAI,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AACzC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAC/B,QAAQ,MAAM,aAAa,GAAG;AAC9B,YAAY,KAAK,EAAE,QAAQ,CAAC,KAAK;AACjC,YAAY,UAAU,EAAE,QAAQ,CAAC,UAAU;AAC3C,SAAS,CAAC;AACV,QAAQ,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5C,IAAI,OAAO,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM;AACnE,QAAQ,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjC,KAAK,CAAC,CAAC;AACP,EAAE;AACF,MAAM,eAAe,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,gBAAgB,KAAK;AACrE,IAAI,IAAI,KAAK,CAAC,mBAAmB,EAAE;AACnC,QAAQ,OAAO,KAAK,CAAC,mBAAmB,CAAC;AACzC,KAAK;AACL,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,YAAY;AAC7C,QAAQ,IAAI;AACZ,YAAY,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC;AACzD,gBAAgB,KAAK,EAAE,KAAK,CAAC,KAAK;AAClC,gBAAgB,UAAU,EAAE,KAAK,CAAC,UAAU;AAC5C,aAAa,CAAC,CAAC;AACf,YAAY,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;AAC5C,YAAY,OAAO,EAAE,WAAW,EAAE,CAAC;AACnC,SAAS;AACT,QAAQ,OAAO,CAAC,EAAE;AAClB,YAAY,gBAAgB,EAAE,CAAC;AAC/B,YAAY,MAAM,CAAC,CAAC;AACpB,SAAS;AACT,gBAAgB;AAChB,YAAY,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC;AAClD,SAAS;AACT,KAAK,GAAG,CAAC;AACT,IAAI,OAAO,KAAK,CAAC,mBAAmB,CAAC;AACrC,CAAC,CAAC;AACF,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,KAAK;AAC9C,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;AAC9C;AACA;AACA,QAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAChD,QAAQ,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACvC;AACA,KAAK;AACL;AACA,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CredentialsProvider, ListLocations } from '../types/credentials';
|
|
2
|
+
interface CreateListLocationsHandlerInput {
|
|
3
|
+
accountId: string;
|
|
4
|
+
credentialsProvider: CredentialsProvider;
|
|
5
|
+
region: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const createListLocationsHandler: (handlerInput: CreateListLocationsHandlerInput) => ListLocations;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { listCallerAccessGrants } from '../apis/listCallerAccessGrants.mjs';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
const createListLocationsHandler = (handlerInput) => {
|
|
6
|
+
return async function listLocations(input = {}) {
|
|
7
|
+
const result = await listCallerAccessGrants({ ...input, ...handlerInput });
|
|
8
|
+
return result;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { createListLocationsHandler };
|
|
13
|
+
//# sourceMappingURL=createListLocationsHandler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createListLocationsHandler.mjs","sources":["../../../../src/internals/managedAuthConfigAdapter/createListLocationsHandler.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { listCallerAccessGrants } from '../apis/listCallerAccessGrants';\nexport const createListLocationsHandler = (handlerInput) => {\n return async function listLocations(input = {}) {\n const result = await listCallerAccessGrants({ ...input, ...handlerInput });\n return result;\n };\n};\n"],"names":[],"mappings":";;AAAA;AACA;AAEY,MAAC,0BAA0B,GAAG,CAAC,YAAY,KAAK;AAC5D,IAAI,OAAO,eAAe,aAAa,CAAC,KAAK,GAAG,EAAE,EAAE;AACpD,QAAQ,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;AACnF,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,CAAC;AACN;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CredentialsProvider, GetLocationCredentials } from '../types/credentials';
|
|
2
|
+
interface CreateLocationCredentialsHandlerInput {
|
|
3
|
+
accountId: string;
|
|
4
|
+
credentialsProvider: CredentialsProvider;
|
|
5
|
+
region: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const createLocationCredentialsHandler: (handlerInput: CreateLocationCredentialsHandlerInput) => GetLocationCredentials;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getDataAccess } from '../apis/getDataAccess.mjs';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
const createLocationCredentialsHandler = (handlerInput) => {
|
|
6
|
+
const { accountId, region, credentialsProvider } = handlerInput;
|
|
7
|
+
/**
|
|
8
|
+
* Retrieves credentials for the specified scope & permission.
|
|
9
|
+
*
|
|
10
|
+
* @param input - An object specifying the requested scope & permission.
|
|
11
|
+
*
|
|
12
|
+
* @returns A promise which will resolve with the requested credentials.
|
|
13
|
+
*/
|
|
14
|
+
return (input) => {
|
|
15
|
+
const { scope, permission } = input;
|
|
16
|
+
return getDataAccess({
|
|
17
|
+
accountId,
|
|
18
|
+
credentialsProvider,
|
|
19
|
+
permission,
|
|
20
|
+
region,
|
|
21
|
+
scope,
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { createLocationCredentialsHandler };
|
|
27
|
+
//# sourceMappingURL=createLocationCredentialsHandler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createLocationCredentialsHandler.mjs","sources":["../../../../src/internals/managedAuthConfigAdapter/createLocationCredentialsHandler.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getDataAccess } from '../apis/getDataAccess';\nexport const createLocationCredentialsHandler = (handlerInput) => {\n const { accountId, region, credentialsProvider } = handlerInput;\n /**\n * Retrieves credentials for the specified scope & permission.\n *\n * @param input - An object specifying the requested scope & permission.\n *\n * @returns A promise which will resolve with the requested credentials.\n */\n return (input) => {\n const { scope, permission } = input;\n return getDataAccess({\n accountId,\n credentialsProvider,\n permission,\n region,\n scope,\n });\n };\n};\n"],"names":[],"mappings":";;AAAA;AACA;AAEY,MAAC,gCAAgC,GAAG,CAAC,YAAY,KAAK;AAClE,IAAI,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAAC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,KAAK,KAAK;AACtB,QAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AAC5C,QAAQ,OAAO,aAAa,CAAC;AAC7B,YAAY,SAAS;AACrB,YAAY,mBAAmB;AAC/B,YAAY,UAAU;AACtB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CredentialsProvider, GetLocationCredentials, ListLocations } from '../types/credentials';
|
|
2
|
+
export interface CreateManagedAuthConfigAdapterInput {
|
|
3
|
+
accountId: string;
|
|
4
|
+
region: string;
|
|
5
|
+
credentialsProvider: CredentialsProvider;
|
|
6
|
+
}
|
|
7
|
+
export interface AuthConfigAdapter {
|
|
8
|
+
listLocations: ListLocations;
|
|
9
|
+
getLocationCredentials: GetLocationCredentials;
|
|
10
|
+
region: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Create configuration including handlers to call S3 Access Grant APIs to list and get
|
|
14
|
+
* credentials for different locations.
|
|
15
|
+
*
|
|
16
|
+
* @param options - Configuration options for the adapter.
|
|
17
|
+
* @returns - An object containing the handlers to call S3 Access Grant APIs and region
|
|
18
|
+
*/
|
|
19
|
+
export declare const createManagedAuthConfigAdapter: ({ credentialsProvider, region, accountId, }: CreateManagedAuthConfigAdapterInput) => AuthConfigAdapter;
|