UNPKG

@tradle/aws-s3-client

Version:
75 lines 2.1 kB
import AWS from 'aws-sdk'; import { S3 } from 'aws-sdk'; import { Omit, IAMStatement } from '@tradle/aws-common-utils'; import { S3Client } from './client'; export { Bucket, Folder } from './bucket'; export interface BucketOpts { bucket: string; client: S3Client; prefix?: string; } export declare type ListOptsMinusBucket = Omit<AWS.S3.ListObjectsV2Request, 'Bucket'>; export interface ListBucketOpts extends BaseBucketOpts { getBody?: boolean; s3Opts?: ListOptsMinusBucket; } export interface ForEachItemInBucketOpts extends ListBucketOpts { map: (item: any, index: number) => any; } export interface ForEachItemInBucketWithPrefixOpts extends BaseBucketOpts { prefix: string; getBody?: boolean; s3Opts?: ListOptsMinusBucket; } export interface GetCacheableOpts extends GetOpts { ttl: number; parse?: (any: any) => any; } export interface BaseBucketOpts { bucket: string; } export interface BaseObjectOpts extends BaseBucketOpts { key: string; region?: string; } export interface EnableEncryptionOpts extends BaseBucketOpts { kmsKeyId?: string; } export interface BaseMultiKeyOpOpts extends BaseBucketOpts { keys: string[]; } export interface SetPolicyForKeysOpts extends BaseMultiKeyOpOpts { policy: AWS.S3.ObjectCannedACL; } export interface DeleteVersonsOpts extends BaseBucketOpts { versions: AWS.S3.ObjectVersionList; } export interface BucketCopyOpts { source: string; target: string; prefix?: string; keys?: string[]; acl?: AWS.S3.ObjectCannedACL; } export interface PutOpts extends BaseObjectOpts { value: any; headers?: any; acl?: AWS.S3.ObjectCannedACL; [x: string]: any; } export interface GetOpts extends BaseObjectOpts { s3Opts?: Partial<AWS.S3.GetObjectRequest>; } export interface BucketPolicy { Statement: IAMStatement[]; } export interface S3ObjWithBody extends S3.Object { Body: S3.Body; } export interface CopyFilesToOpts { bucket: string; keys?: string[]; prefix?: string; acl?: AWS.S3.ObjectCannedACL; } //# sourceMappingURL=types.d.ts.map