1import type * as imagebuilder from "@distilled.cloud/aws/imagebuilder";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `imagebuilder:DeleteImage`.
7 *
8 * Deletes an image build version record (it does NOT deregister the EC2
9 * AMIs or delete the ECR container images the build produced — clean those
10 * up separately). Useful for pruning failed or cancelled builds at runtime.
11 * Account-level binding: pass the build version's ARN. Provide the
12 * implementation with `Effect.provide(AWS.ImageBuilder.DeleteImageHttp)`.
13 * ### Running Builds
14 * **Example:** Prune a Cancelled Build
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const deleteImage = yield* AWS.ImageBuilder.DeleteImage();
18 *
19 * // runtime
20 * yield* deleteImage({ imageBuildVersionArn });
21 * ```
22 *
23 * @binding
24 */
25export interface DeleteImage extends Binding.Service<
26 DeleteImage,
27 "AWS.ImageBuilder.DeleteImage",
28 () => Effect.Effect<
29 (
30 request: imagebuilder.DeleteImageRequest,
31 ) => Effect.Effect<
32 imagebuilder.DeleteImageResponse,
33 imagebuilder.DeleteImageError
34 >
35 >
36> {}
37export const DeleteImage = Binding.Service<DeleteImage>(
38 "AWS.ImageBuilder.DeleteImage",
39);