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 UpdateMicrovmImageVersionRequest extends Omit<
7 microvms.UpdateMicrovmImageVersionRequest,
8 "imageIdentifier"
9> {}
10
11/**
12 * Runtime binding for `UpdateMicrovmImageVersion`.
13 *
14 * Bind it to a {@link MicrovmImage} to update a version's status (e.g. mark it
15 * `ACTIVE`/`INACTIVE`); the `imageIdentifier` is injected.
16 * ### Image Versions
17 *
18 * @binding
19 */
20export interface UpdateMicrovmImageVersion extends Binding.Service<
21 UpdateMicrovmImageVersion,
22 "AWS.Lambda.UpdateMicrovmImageVersion",
23 (
24 image: MicrovmImage,
25 ) => Effect.Effect<
26 (
27 request: UpdateMicrovmImageVersionRequest,
28 ) => Effect.Effect<
29 microvms.UpdateMicrovmImageVersionResponse,
30 microvms.UpdateMicrovmImageVersionError
31 >
32 >
33> {}
34export const UpdateMicrovmImageVersion =
35 Binding.Service<UpdateMicrovmImageVersion>(
36 "AWS.Lambda.UpdateMicrovmImageVersion",
37 );