1import type * as personalize from "@distilled.cloud/aws/personalize";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `personalize:CreateSolutionVersion` — Trains a new model (solution version) for an existing solution — the
7 * retraining step of the MLOps loop, typically run on a schedule after
8 * fresh data is imported.
9 * Provide the implementation with
10 * `Effect.provide(AWS.Personalize.CreateSolutionVersionHttp)`.
11 *
12 * ### Retraining Loop
13 * **Example:** Retrain a Solution
14 * ```typescript
15 * // init
16 * const createSolutionVersion = yield* Personalize.CreateSolutionVersion();
17 *
18 * const { solutionVersionArn } = yield* createSolutionVersion({
19 * solutionArn,
20 * trainingMode: "UPDATE",
21 * });
22 * ```
23 *
24 * @binding
25 */
26export interface CreateSolutionVersion extends Binding.Service<
27 CreateSolutionVersion,
28 "AWS.Personalize.CreateSolutionVersion",
29 () => Effect.Effect<
30 (
31 request: personalize.CreateSolutionVersionRequest,
32 ) => Effect.Effect<
33 personalize.CreateSolutionVersionResponse,
34 personalize.CreateSolutionVersionError
35 >
36 >
37> {}
38export const CreateSolutionVersion = Binding.Service<CreateSolutionVersion>(
39 "AWS.Personalize.CreateSolutionVersion",
40);