1import type * as microvms from "@distilled.cloud/aws/lambda-microvms";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { MicrovmImage } from "./MicrovmImage.ts";
5
6export interface GetMicrovmImageBuildRequest extends Omit<
7 microvms.GetMicrovmImageBuildInput,
8 "imageIdentifier"
9> {}
10
11/**
12 * Runtime binding for `GetMicrovmImageBuild`.
13 *
14 * Bind it to a {@link MicrovmImage} to read a per-architecture build's state and
15 * snapshot info (the `imageIdentifier` is injected).
16 * ### Image Builds
17 *
18 * @binding
19 */
20export interface GetMicrovmImageBuild extends Binding.Service<
21 GetMicrovmImageBuild,
22 "AWS.Lambda.GetMicrovmImageBuild",
23 (
24 image: MicrovmImage,
25 ) => Effect.Effect<
26 (
27 request: GetMicrovmImageBuildRequest,
28 ) => Effect.Effect<
29 microvms.GetMicrovmImageBuildOutput,
30 microvms.GetMicrovmImageBuildError
31 >
32 >
33> {}
34export const GetMicrovmImageBuild = Binding.Service<GetMicrovmImageBuild>(
35 "AWS.Lambda.GetMicrovmImageBuild",
36);