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/** `BatchImportEvidenceToAssessmentControl` request with `assessmentId` injected from the bound {@link Assessment}. */
7export interface BatchImportEvidenceToAssessmentControlRequest extends Omit<
8 auditmanager.BatchImportEvidenceToAssessmentControlRequest,
9 "assessmentId"
10> {}
11
12/**
13 * Runtime binding for `auditmanager:BatchImportEvidenceToAssessmentControl`.
14 *
15 * Adds one or more pieces of manual evidence to a control in the
16 * bound assessment — free-form text, an S3 object, or a file uploaded via
17 * {@link GetEvidenceFileUploadUrl}. Provide the
18 * implementation with `Effect.provide(AWS.AuditManager.BatchImportEvidenceToAssessmentControlHttp)`.
19 * ### Manual Evidence
20 * **Example:** Attach Manual Evidence to a Control
21 * ```typescript
22 * const batchImportEvidenceToAssessmentControl = yield* AWS.AuditManager.BatchImportEvidenceToAssessmentControl(assessment);
23 * const result = yield* batchImportEvidenceToAssessmentControl({
24 * controlSetId,
25 * controlId,
26 * manualEvidence: [{ textResponse: "Reviewed 2026-Q3: no findings" }],
27 * });
28 * ```
29 *
30 * @binding
31 */
32export interface BatchImportEvidenceToAssessmentControl extends Binding.Service<
33 BatchImportEvidenceToAssessmentControl,
34 "AWS.AuditManager.BatchImportEvidenceToAssessmentControl",
35 (
36 assessment: Assessment,
37 ) => Effect.Effect<
38 (
39 request: BatchImportEvidenceToAssessmentControlRequest,
40 ) => Effect.Effect<
41 auditmanager.BatchImportEvidenceToAssessmentControlResponse,
42 auditmanager.BatchImportEvidenceToAssessmentControlError
43 >
44 >
45> {}
46
47export const BatchImportEvidenceToAssessmentControl =
48 Binding.Service<BatchImportEvidenceToAssessmentControl>(
49 "AWS.AuditManager.BatchImportEvidenceToAssessmentControl",
50 );