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 `ListRecoveryPointsByResource` operation (IAM
7 * action `backup:ListRecoveryPointsByResource`).
8 *
9 * Lists the recovery points for a specific protected resource by its ARN —
10 * find the newest recovery point to restore from. Provide the implementation
11 * with `Effect.provide(AWS.Backup.ListRecoveryPointsByResourceHttp)`.
12 * ### Recovery Points
13 * **Example:** Find A Resource's Recovery Points
14 * ```typescript
15 * const listRecoveryPointsByResource =
16 * yield* AWS.Backup.ListRecoveryPointsByResource();
17 *
18 * const page = yield* listRecoveryPointsByResource({
19 * ResourceArn: tableArn,
20 * MaxResults: 10,
21 * });
22 * ```
23 *
24 * @binding
25 */
26export interface ListRecoveryPointsByResource extends Binding.Service<
27 ListRecoveryPointsByResource,
28 "AWS.Backup.ListRecoveryPointsByResource",
29 () => Effect.Effect<
30 (
31 request: backup.ListRecoveryPointsByResourceInput,
32 ) => Effect.Effect<
33 backup.ListRecoveryPointsByResourceOutput,
34 backup.ListRecoveryPointsByResourceError
35 >
36 >
37> {}
38export const ListRecoveryPointsByResource =
39 Binding.Service<ListRecoveryPointsByResource>(
40 "AWS.Backup.ListRecoveryPointsByResource",
41 );