import type * as SVC from "@distilled.cloud/aws/emr"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Cluster } from "./Cluster.ts"; /** * Runtime binding for `elasticmapreduce:GetSessionEndpoint` — resolves the Spark Connect endpoint URL and a time-limited auth token for an interactive session on the bound cluster. The returned `AuthToken` is `Redacted` — unwrap with `Redacted.value`. * ### Interactive Sessions * **Example:** Connect a Spark Client * ```typescript * const getEndpoint = yield* AWS.EMR.GetSessionEndpoint(cluster); * * const { Endpoint, AuthToken } = yield* getEndpoint({ * SessionId: sessionId, * }); * ``` * * @binding */ export interface GetSessionEndpoint extends Binding.Service< GetSessionEndpoint, "AWS.EMR.GetSessionEndpoint", ( cluster: C, ) => Effect.Effect< ( request: Omit, ) => Effect.Effect< SVC.GetSessionEndpointOutput, SVC.GetSessionEndpointError > > > {} export const GetSessionEndpoint = Binding.Service( "AWS.EMR.GetSessionEndpoint", );