1import type * as backup from "@distilled.cloud/aws/backup";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `ListBackupJobs` operation (IAM action
7 * `backup:ListBackupJobs`).
8 *
9 * Lists the account's backup jobs from the last 30 days, with optional
10 * filters (state, vault, resource type, time window). Provide the
11 * implementation with `Effect.provide(AWS.Backup.ListBackupJobsHttp)`.
12 * ### Monitoring Backup Jobs
13 * **Example:** List Running Backup Jobs
14 * ```typescript
15 * const listBackupJobs = yield* AWS.Backup.ListBackupJobs();
16 *
17 * const page = yield* listBackupJobs({ ByState: "RUNNING", MaxResults: 25 });
18 * ```
19 *
20 * @binding
21 */
22export interface ListBackupJobs extends Binding.Service<
23 ListBackupJobs,
24 "AWS.Backup.ListBackupJobs",
25 () => Effect.Effect<
26 (
27 request?: backup.ListBackupJobsInput,
28 ) => Effect.Effect<backup.ListBackupJobsOutput, backup.ListBackupJobsError>
29 >
30> {}
31export const ListBackupJobs = Binding.Service<ListBackupJobs>(
32 "AWS.Backup.ListBackupJobs",
33);