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/** `ListControlDomainInsightsByAssessment` request with `assessmentId` injected from the bound {@link Assessment}. */
7export interface ListControlDomainInsightsByAssessmentRequest extends Omit<
8 auditmanager.ListControlDomainInsightsByAssessmentRequest,
9 "assessmentId"
10> {}
11
12/**
13 * Runtime binding for `auditmanager:ListControlDomainInsightsByAssessment`.
14 *
15 * Lists the latest analytics data for control domains within the
16 * bound (active) assessment. Provide the
17 * implementation with `Effect.provide(AWS.AuditManager.ListControlDomainInsightsByAssessmentHttp)`.
18 * ### Insights
19 * **Example:** Control-Domain Insights for the Assessment
20 * ```typescript
21 * const listControlDomainInsightsByAssessment = yield* AWS.AuditManager.ListControlDomainInsightsByAssessment(assessment);
22 * const result = yield* listControlDomainInsightsByAssessment({ maxResults: 20 });
23 * ```
24 *
25 * @binding
26 */
27export interface ListControlDomainInsightsByAssessment extends Binding.Service<
28 ListControlDomainInsightsByAssessment,
29 "AWS.AuditManager.ListControlDomainInsightsByAssessment",
30 (
31 assessment: Assessment,
32 ) => Effect.Effect<
33 (
34 request?: ListControlDomainInsightsByAssessmentRequest,
35 ) => Effect.Effect<
36 auditmanager.ListControlDomainInsightsByAssessmentResponse,
37 auditmanager.ListControlDomainInsightsByAssessmentError
38 >
39 >
40> {}
41
42export const ListControlDomainInsightsByAssessment =
43 Binding.Service<ListControlDomainInsightsByAssessment>(
44 "AWS.AuditManager.ListControlDomainInsightsByAssessment",
45 );