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:ListImageBuildVersions`.
7 *
8 * Lists the build versions of an image version (`…:image/{name}/{version}`),
9 * newest first — each entry reports its state, so a function can find the
10 * latest `AVAILABLE` build of an image. Image versions are created
11 * dynamically by pipeline runs, so this is an account-level binding.
12 * Provide the implementation with
13 * `Effect.provide(AWS.ImageBuilder.ListImageBuildVersionsHttp)`.
14 * ### Observing Builds
15 * **Example:** List the Builds of an Image Version
16 * ```typescript
17 * // init — account-level binding, no resource argument
18 * const listImageBuildVersions =
19 * yield* AWS.ImageBuilder.ListImageBuildVersions();
20 *
21 * // runtime
22 * const { imageSummaryList } = yield* listImageBuildVersions({
23 * imageVersionArn,
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface ListImageBuildVersions extends Binding.Service<
30 ListImageBuildVersions,
31 "AWS.ImageBuilder.ListImageBuildVersions",
32 () => Effect.Effect<
33 (
34 request: imagebuilder.ListImageBuildVersionsRequest,
35 ) => Effect.Effect<
36 imagebuilder.ListImageBuildVersionsResponse,
37 imagebuilder.ListImageBuildVersionsError
38 >
39 >
40> {}
41export const ListImageBuildVersions = Binding.Service<ListImageBuildVersions>(
42 "AWS.ImageBuilder.ListImageBuildVersions",
43);