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:CreateSolution` — Creates a solution (a recipe + configuration to train models with)
7 * for a dataset group — set `performAutoTraining` to keep models fresh
8 * automatically.
9 * Provide the implementation with
10 * `Effect.provide(AWS.Personalize.CreateSolutionHttp)`.
11 *
12 * ### Retraining Loop
13 * **Example:** Create a Solution
14 * ```typescript
15 * // init
16 * const createSolution = yield* Personalize.CreateSolution();
17 *
18 * const { solutionArn } = yield* createSolution({
19 * name: "user-personalization",
20 * recipeArn: "arn:aws:personalize:::recipe/aws-user-personalization",
21 * datasetGroupArn,
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface CreateSolution extends Binding.Service<
28 CreateSolution,
29 "AWS.Personalize.CreateSolution",
30 () => Effect.Effect<
31 (
32 request: personalize.CreateSolutionRequest,
33 ) => Effect.Effect<
34 personalize.CreateSolutionResponse,
35 personalize.CreateSolutionError
36 >
37 >
38> {}
39export const CreateSolution = Binding.Service<CreateSolution>(
40 "AWS.Personalize.CreateSolution",
41);