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:RetryImage`.
7 *
8 * Retries a failed image build in place (same build version ARN) — pair it
9 * with `consumeImageEvents` to automatically retry transient build failures.
10 * The idempotency `clientToken` is generated automatically. Provide the
11 * implementation with `Effect.provide(AWS.ImageBuilder.RetryImageHttp)`.
12 * ### Running Builds
13 * **Example:** Retry a Failed Build
14 * ```typescript
15 * // init — account-level binding, no resource argument
16 * const retryImage = yield* AWS.ImageBuilder.RetryImage();
17 *
18 * // runtime
19 * yield* retryImage({ imageBuildVersionArn });
20 * ```
21 *
22 * @binding
23 */
24export interface RetryImage extends Binding.Service<
25 RetryImage,
26 "AWS.ImageBuilder.RetryImage",
27 () => Effect.Effect<
28 (
29 request: Omit<imagebuilder.RetryImageRequest, "clientToken">,
30 ) => Effect.Effect<
31 imagebuilder.RetryImageResponse,
32 imagebuilder.RetryImageError
33 >
34 >
35> {}
36export const RetryImage = Binding.Service<RetryImage>(
37 "AWS.ImageBuilder.RetryImage",
38);