UNPKG

mira

Version:

NearForm Accelerator for Cloud Native Serverless AWS

24 lines (18 loc) 702 B
import S3, { ObjectIdentifierList } from 'aws-sdk/clients/s3' /** @ignore - Excluded from documentation generation. */ const s3 = new S3() export const deleteBucket = async (bucketName: string): Promise<void> => { const objects = await s3.listObjectVersions({ Bucket: bucketName }).promise() const objectsToDelete: ObjectIdentifierList = [ ...(objects.Versions || []), ...(objects.DeleteMarkers || []) ].map((o) => ({ Key: o.Key || '', VersionId: o.VersionId })) if (objectsToDelete.length) { await s3 .deleteObjects({ Bucket: bucketName, Delete: { Objects: objectsToDelete } }) .promise() } if (objects.IsTruncated) { await deleteBucket(bucketName) } }