1import type * as SVC from "@distilled.cloud/aws/databrew";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Project } from "./Project.ts";
5
6export interface SendProjectSessionActionRequest extends Omit<
7 SVC.SendProjectSessionActionRequest,
8 "Name"
9> {}
10
11/**
12 * Runtime binding for `databrew:SendProjectSessionAction` — performs a
13 * recipe step (optionally as a preview) inside an open interactive session
14 * on the bound DataBrew project. Authenticate with the `Redacted`
15 * `ClientSessionId` returned by {@link StartProjectSession}.
16 * ### Interactive Sessions
17 * **Example:** Preview a Recipe Step
18 * ```typescript
19 * const sendProjectSessionAction =
20 * yield* AWS.DataBrew.SendProjectSessionAction(project);
21 *
22 * const { ActionId } = yield* sendProjectSessionAction({
23 * Preview: true,
24 * ClientSessionId: clientSessionId,
25 * ViewFrame: { StartColumnIndex: 0 },
26 * });
27 * ```
28 *
29 * @binding
30 */
31export interface SendProjectSessionAction extends Binding.Service<
32 SendProjectSessionAction,
33 "AWS.DataBrew.SendProjectSessionAction",
34 <P extends Project>(
35 project: P,
36 ) => Effect.Effect<
37 (
38 request?: SendProjectSessionActionRequest,
39 ) => Effect.Effect<
40 SVC.SendProjectSessionActionResponse,
41 SVC.SendProjectSessionActionError
42 >
43 >
44> {}
45export const SendProjectSessionAction =
46 Binding.Service<SendProjectSessionAction>(
47 "AWS.DataBrew.SendProjectSessionAction",
48 );