1import type * as auditmanager from "@distilled.cloud/aws/auditmanager";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Assessment } from "./Assessment.ts";
5
6/** `GetEvidenceFolder` request with `assessmentId` injected from the bound {@link Assessment}. */
7export interface GetEvidenceFolderRequest extends Omit<
8 auditmanager.GetEvidenceFolderRequest,
9 "assessmentId"
10> {}
11
12/**
13 * Runtime binding for `auditmanager:GetEvidenceFolder`.
14 *
15 * Gets an evidence folder from the bound assessment. Provide the
16 * implementation with `Effect.provide(AWS.AuditManager.GetEvidenceFolderHttp)`.
17 * ### Reading Evidence
18 * **Example:** Get an Evidence Folder
19 * ```typescript
20 * const getEvidenceFolder = yield* AWS.AuditManager.GetEvidenceFolder(assessment);
21 * const result = yield* getEvidenceFolder({ controlSetId, evidenceFolderId });
22 * ```
23 *
24 * @binding
25 */
26export interface GetEvidenceFolder extends Binding.Service<
27 GetEvidenceFolder,
28 "AWS.AuditManager.GetEvidenceFolder",
29 (
30 assessment: Assessment,
31 ) => Effect.Effect<
32 (
33 request: GetEvidenceFolderRequest,
34 ) => Effect.Effect<
35 auditmanager.GetEvidenceFolderResponse,
36 auditmanager.GetEvidenceFolderError
37 >
38 >
39> {}
40
41export const GetEvidenceFolder = Binding.Service<GetEvidenceFolder>(
42 "AWS.AuditManager.GetEvidenceFolder",
43);