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 `GetRestoreJobMetadata` operation (IAM action
7 * `backup:GetRestoreJobMetadata`).
8 *
9 * Returns the metadata of a restore job — the key/value set describing the
10 * restored resource. Together with `PutRestoreValidationResult` this is the
11 * restore-testing validation flow: AWS Backup invokes a validation Lambda
12 * after a restore-test job completes, the Lambda inspects the restored
13 * resource, then reports the verdict. Provide the implementation with
14 * `Effect.provide(AWS.Backup.GetRestoreJobMetadataHttp)`.
15 * ### Restore Testing Validation
16 * **Example:** Inspect A Restore Test's Metadata
17 * ```typescript
18 * const getRestoreJobMetadata = yield* AWS.Backup.GetRestoreJobMetadata();
19 *
20 * const { Metadata } = yield* getRestoreJobMetadata({
21 * RestoreJobId: restoreJobId,
22 * });
23 * yield* Effect.log(`restored resource metadata: ${JSON.stringify(Metadata)}`);
24 * ```
25 *
26 * @binding
27 */
28export interface GetRestoreJobMetadata extends Binding.Service<
29 GetRestoreJobMetadata,
30 "AWS.Backup.GetRestoreJobMetadata",
31 () => Effect.Effect<
32 (
33 request: backup.GetRestoreJobMetadataInput,
34 ) => Effect.Effect<
35 backup.GetRestoreJobMetadataOutput,
36 backup.GetRestoreJobMetadataError
37 >
38 >
39> {}
40export const GetRestoreJobMetadata = Binding.Service<GetRestoreJobMetadata>(
41 "AWS.Backup.GetRestoreJobMetadata",
42);