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:GetOnClusterAppUIPresignedURL` — mints a presigned URL for a live application UI (Spark UI, YARN ResourceManager, Tez) on the bound cluster.
8 * ### Application UIs
9 * **Example:** Link to the Spark UI
10 * ```typescript
11 * const getAppUrl = yield* AWS.EMR.GetOnClusterAppUIPresignedURL(cluster);
12 *
13 * const { PresignedURL } = yield* getAppUrl({
14 * OnClusterAppUIType: "ApplicationMaster",
15 * });
16 * ```
17 *
18 * @binding
19 */
20export interface GetOnClusterAppUIPresignedURL extends Binding.Service<
21 GetOnClusterAppUIPresignedURL,
22 "AWS.EMR.GetOnClusterAppUIPresignedURL",
23 <C extends Cluster>(
24 cluster: C,
25 ) => Effect.Effect<
26 (
27 request?: Omit<SVC.GetOnClusterAppUIPresignedURLInput, "ClusterId">,
28 ) => Effect.Effect<
29 SVC.GetOnClusterAppUIPresignedURLOutput,
30 SVC.GetOnClusterAppUIPresignedURLError
31 >
32 >
33> {}
34export const GetOnClusterAppUIPresignedURL =
35 Binding.Service<GetOnClusterAppUIPresignedURL>(
36 "AWS.EMR.GetOnClusterAppUIPresignedURL",
37 );