1import type * as auditmanager from "@distilled.cloud/aws/auditmanager";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `auditmanager:GetEvidenceFileUploadUrl`.
7 *
8 * Creates a presigned Amazon S3 URL that can be used to upload a
9 * manual-evidence file — pair with
10 * {@link BatchImportEvidenceToAssessmentControl} to attach the uploaded
11 * file to a control. Provide the
12 * implementation with `Effect.provide(AWS.AuditManager.GetEvidenceFileUploadUrlHttp)`.
13 * ### Manual Evidence
14 * **Example:** Presign a Manual-Evidence Upload
15 * ```typescript
16 * const getEvidenceFileUploadUrl = yield* AWS.AuditManager.GetEvidenceFileUploadUrl();
17 * const result = yield* getEvidenceFileUploadUrl({ fileName: "access-review.pdf" });
18 * ```
19 *
20 * @binding
21 */
22export interface GetEvidenceFileUploadUrl extends Binding.Service<
23 GetEvidenceFileUploadUrl,
24 "AWS.AuditManager.GetEvidenceFileUploadUrl",
25 () => Effect.Effect<
26 (
27 request: auditmanager.GetEvidenceFileUploadUrlRequest,
28 ) => Effect.Effect<
29 auditmanager.GetEvidenceFileUploadUrlResponse,
30 auditmanager.GetEvidenceFileUploadUrlError
31 >
32 >
33> {}
34
35export const GetEvidenceFileUploadUrl =
36 Binding.Service<GetEvidenceFileUploadUrl>(
37 "AWS.AuditManager.GetEvidenceFileUploadUrl",
38 );