1import type * as emrc from "@distilled.cloud/aws/emr-containers";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `emr-containers:ListJobTemplates`.
7 *
8 * Enumerates the account's EMR on EKS job templates, optionally filtered by
9 * creation time. Account-level — no resource argument. Provide the
10 * implementation with
11 * `Effect.provide(AWS.EMRContainers.ListJobTemplatesHttp)`.
12 * ### Job Templates
13 * **Example:** List All Templates
14 * ```typescript
15 * // init — account-level binding, no resource argument
16 * const listJobTemplates = yield* AWS.EMRContainers.ListJobTemplates();
17 *
18 * // runtime
19 * const { templates } = yield* listJobTemplates();
20 * yield* Effect.log(`${templates?.length ?? 0} job templates`);
21 * ```
22 *
23 * @binding
24 */
25export interface ListJobTemplates extends Binding.Service<
26 ListJobTemplates,
27 "AWS.EMRContainers.ListJobTemplates",
28 () => Effect.Effect<
29 (
30 request?: emrc.ListJobTemplatesRequest,
31 ) => Effect.Effect<
32 emrc.ListJobTemplatesResponse,
33 emrc.ListJobTemplatesError
34 >
35 >
36> {}
37export const ListJobTemplates = Binding.Service<ListJobTemplates>(
38 "AWS.EMRContainers.ListJobTemplates",
39);