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:CreatePersistentAppUI` — creates a persistent application UI (Spark history, YARN timeline) for the bound cluster — the UI outlives the cluster. The cluster ARN is injected as `TargetResourceArn`.
8 * ### Application UIs
9 * **Example:** Create a Persistent Spark History UI
10 * ```typescript
11 * const createAppUI = yield* AWS.EMR.CreatePersistentAppUI(cluster);
12 *
13 * const { PersistentAppUIId } = yield* createAppUI();
14 * ```
15 *
16 * @binding
17 */
18export interface CreatePersistentAppUI extends Binding.Service<
19 CreatePersistentAppUI,
20 "AWS.EMR.CreatePersistentAppUI",
21 <C extends Cluster>(
22 cluster: C,
23 ) => Effect.Effect<
24 (
25 request?: Omit<SVC.CreatePersistentAppUIInput, "TargetResourceArn">,
26 ) => Effect.Effect<
27 SVC.CreatePersistentAppUIOutput,
28 SVC.CreatePersistentAppUIError
29 >
30 >
31> {}
32export const CreatePersistentAppUI = Binding.Service<CreatePersistentAppUI>(
33 "AWS.EMR.CreatePersistentAppUI",
34);