import * as S3 from "@distilled.cloud/aws/s3"; import * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Bucket } from "./Bucket.ts"; export interface AbortMultipartUploadRequest extends Omit { } /** * Runtime binding for `s3:AbortMultipartUpload`. * * Discards an in-progress multipart upload and frees the storage its parts * consume — abandoned uploads keep billing until aborted (or expired by a * lifecycle rule). Provide the implementation with * `Effect.provide(AWS.S3.AbortMultipartUploadHttp)`. * ### Multipart Uploads * **Example:** Abort an Upload When Part Uploads Fail * ```typescript * // init — bind the operation to the bucket * const abortUpload = yield* AWS.S3.AbortMultipartUpload(bucket); * * // runtime — clean up if the part-upload pipeline fails * yield* uploadAllParts.pipe( * Effect.tapError(() => * abortUpload({ Key: "backups/archive.tar", UploadId }), * ), * ); * ``` * * @binding */ export interface AbortMultipartUpload extends Binding.Service Effect.Effect<(request: AbortMultipartUploadRequest) => Effect.Effect>> { } export declare const AbortMultipartUpload: AbortMultipartUpload; //# sourceMappingURL=AbortMultipartUpload.d.ts.map