@tradle/aws-s3-client
Version:
> TODO: description
75 lines • 2.1 kB
TypeScript
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