1import type * as SVC from "@distilled.cloud/aws/emr";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Cluster } from "./Cluster.ts";
5
6/**
7 * Runtime binding for `elasticmapreduce:TerminateSession` — terminates an interactive session on the bound cluster.
8 * ### Interactive Sessions
9 * **Example:** Terminate a Session
10 * ```typescript
11 * const terminateSession = yield* AWS.EMR.TerminateSession(cluster);
12 *
13 * yield* terminateSession({ SessionId: sessionId });
14 * ```
15 *
16 * @binding
17 */
18export interface TerminateSession extends Binding.Service<
19 TerminateSession,
20 "AWS.EMR.TerminateSession",
21 <C extends Cluster>(
22 cluster: C,
23 ) => Effect.Effect<
24 (
25 request: Omit<SVC.TerminateSessionInput, "ClusterId">,
26 ) => Effect.Effect<SVC.TerminateSessionOutput, SVC.TerminateSessionError>
27 >
28> {}
29export const TerminateSession = Binding.Service<TerminateSession>(
30 "AWS.EMR.TerminateSession",
31);