/*! * Copyright Adaptavist 2025 (c) All rights reserved */ import { CopyS3ObjectRequest, CopyS3ObjectResponseOK } from './types/s3/object'; import { DeleteS3ObjectRequest, DeleteS3ObjectResponseOK } from './types/s3/object'; import { GetS3ObjectRequest, GetS3ObjectResponseOK } from './types/s3/object'; import { GetS3ObjectHeadRequest, GetS3ObjectHeadResponseOK } from './types/s3/object'; import { GetS3ObjectsV2Request, GetS3ObjectsV2ResponseOK } from './types/s3/object'; import { GetS3ObjectVersionsRequest, GetS3ObjectVersionsResponseOK } from './types/s3/object'; import { PutS3ObjectRequest, PutS3ObjectResponseOK } from './types/s3/object'; import { CreatS3BucketRequest, CreatS3BucketResponseOK } from './types/s3/bucket'; import { DeleteS3BucketRequest, DeleteS3BucketResponseOK } from './types/s3/bucket'; import { GetS3BucketHeadRequest, GetS3BucketHeadResponseOK } from './types/s3/bucket'; import { GetS3BucketsRequest, GetS3BucketsResponseOK } from './types/s3/bucket'; import { Headers, Response, BaseApiCore, ErrorStrategyOptionType, PlatformImplementation } from '@managed-api/commons-core'; import { CommonError, AdditionalErrorTypes, ErrorStrategyHandlers, ErrorStrategyOption } from './errorStrategy'; import { ErrorStrategyBuilder } from './builders/errorStrategy'; export interface AWSApiCoreOptions extends ErrorStrategyOption { } declare type GetGlobalErrorStrategy = () => ErrorStrategyOptionType<CommonError, AdditionalErrorTypes, ErrorStrategyHandlers, ErrorStrategyBuilder> | undefined; export declare abstract class AWSApiCore extends BaseApiCore { private options?; S3: S3Group; All: AllGroup; constructor(options?: AWSApiCoreOptions | undefined); setGlobalErrorStrategy(errorStrategy: ErrorStrategyOptionType<CommonError, AdditionalErrorTypes, ErrorStrategyHandlers, ErrorStrategyBuilder>): void; protected buildResponse(url: string, status: number, statusText: string, headers: Headers, body?: string | ArrayBuffer): Response<any>; private getGlobalErrorStrategy; } declare class AllGroup { private S3; constructor(S3: S3Group); /** * Creates a copy of an object that is already stored in Amazon S3. * Alternative usage: S3.Object.copyObject * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html * @param options Request options. */ copyS3Object<T = CopyS3ObjectResponseOK>(options: CopyS3ObjectRequest): Promise<CopyS3ObjectResponseOK | T>; /** * Removes an object from a bucket. * Alternative usage: S3.Object.deleteObject * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html * @param options Request options. */ deleteS3Object<T = DeleteS3ObjectResponseOK>(options: DeleteS3ObjectRequest): Promise<DeleteS3ObjectResponseOK | T>; /** * Retrieves an object from Amazon S3. * Alternative usage: S3.Object.getObject * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html * @param options Request options. */ getS3Object<T = GetS3ObjectResponseOK>(options: GetS3ObjectRequest): Promise<GetS3ObjectResponseOK | T>; /** * The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata. * Alternative usage: S3.Object.getObjectHead * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html * @param options Request options. */ getS3ObjectHead<T = GetS3ObjectHeadResponseOK>(options: GetS3ObjectHeadRequest): Promise<GetS3ObjectHeadResponseOK | T>; /** * Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. * Alternative usage: S3.Object.getObjectsV2 * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html * @param options Request options. */ getS3ObjectsV2<T = GetS3ObjectsV2ResponseOK>(options: GetS3ObjectsV2Request): Promise<GetS3ObjectsV2ResponseOK | T>; /** * Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions. * Alternative usage: S3.Object.getObjectVersions * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html * @param options Request options. */ getS3ObjectVersions<T = GetS3ObjectVersionsResponseOK>(options: GetS3ObjectVersionsRequest): Promise<GetS3ObjectVersionsResponseOK | T>; /** * Adds an object to a bucket. * Alternative usage: S3.Object.putObject * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html * @param options Request options. */ putS3Object<T = PutS3ObjectResponseOK>(options: PutS3ObjectRequest): Promise<PutS3ObjectResponseOK | T>; /** * Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner. * Alternative usage: S3.Bucket.createBucket * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html * @param options Request options. */ createS3Bucket<T = CreatS3BucketResponseOK>(options: CreatS3BucketRequest): Promise<CreatS3BucketResponseOK | T>; /** * Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted. * Alternative usage: S3.Bucket.deleteBucket * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html * @param options Request options. */ deleteS3Bucket<T = DeleteS3BucketResponseOK>(options: DeleteS3BucketRequest): Promise<DeleteS3BucketResponseOK | T>; /** * You can use this operation to determine if a bucket exists and if you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it. * Alternative usage: S3.Bucket.getBucketHead * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html * @param options Request options. */ getS3BucketHead<T = GetS3BucketHeadResponseOK>(options: GetS3BucketHeadRequest): Promise<GetS3BucketHeadResponseOK | T>; /** * Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation, you must add the s3:ListAllMyBuckets policy action. * Alternative usage: S3.Bucket.getBuckets * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html * @param options Request options. */ getS3Buckets<T = GetS3BucketsResponseOK>(options: GetS3BucketsRequest): Promise<GetS3BucketsResponseOK | T>; } declare class S3Group { private implementation; private getGlobalErrorStrategy; Object: S3ObjectGroup; Bucket: S3BucketGroup; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); } declare class S3ObjectGroup { private implementation; private getGlobalErrorStrategy; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * Creates a copy of an object that is already stored in Amazon S3. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html * @param options Request options. */ copyObject<T = CopyS3ObjectResponseOK>(options: CopyS3ObjectRequest): Promise<CopyS3ObjectResponseOK | T>; /** * Removes an object from a bucket. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html * @param options Request options. */ deleteObject<T = DeleteS3ObjectResponseOK>(options: DeleteS3ObjectRequest): Promise<DeleteS3ObjectResponseOK | T>; /** * Retrieves an object from Amazon S3. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html * @param options Request options. */ getObject<T = GetS3ObjectResponseOK>(options: GetS3ObjectRequest): Promise<GetS3ObjectResponseOK | T>; /** * The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html * @param options Request options. */ getObjectHead<T = GetS3ObjectHeadResponseOK>(options: GetS3ObjectHeadRequest): Promise<GetS3ObjectHeadResponseOK | T>; /** * Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html * @param options Request options. */ getObjectsV2<T = GetS3ObjectsV2ResponseOK>(options: GetS3ObjectsV2Request): Promise<GetS3ObjectsV2ResponseOK | T>; /** * Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html * @param options Request options. */ getObjectVersions<T = GetS3ObjectVersionsResponseOK>(options: GetS3ObjectVersionsRequest): Promise<GetS3ObjectVersionsResponseOK | T>; /** * Adds an object to a bucket. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html * @param options Request options. */ putObject<T = PutS3ObjectResponseOK>(options: PutS3ObjectRequest): Promise<PutS3ObjectResponseOK | T>; } declare class S3BucketGroup { private implementation; private getGlobalErrorStrategy; constructor(implementation: PlatformImplementation, getGlobalErrorStrategy: GetGlobalErrorStrategy); /** * Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html * @param options Request options. */ createBucket<T = CreatS3BucketResponseOK>(options: CreatS3BucketRequest): Promise<CreatS3BucketResponseOK | T>; /** * Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html * @param options Request options. */ deleteBucket<T = DeleteS3BucketResponseOK>(options: DeleteS3BucketRequest): Promise<DeleteS3BucketResponseOK | T>; /** * You can use this operation to determine if a bucket exists and if you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html * @param options Request options. */ getBucketHead<T = GetS3BucketHeadResponseOK>(options: GetS3BucketHeadRequest): Promise<GetS3BucketHeadResponseOK | T>; /** * Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation, you must add the s3:ListAllMyBuckets policy action. * Documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html * @param options Request options. */ getBuckets<T = GetS3BucketsResponseOK>(options: GetS3BucketsRequest): Promise<GetS3BucketsResponseOK | T>; } export {}; //# sourceMappingURL=index.d.ts.map