1import type * as fms from "@distilled.cloud/aws/fms";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link ListComplianceStatus}.
7 */
8export interface ListComplianceStatusRequest
9 extends fms.ListComplianceStatusRequest {}
10
11/**
12 * Runtime binding for `fms:ListComplianceStatus`.
13 *
14 * Returns an array of `PolicyComplianceStatus` objects — use it to get a summary of which member accounts are protected by the specified policy. Provide the
15 * implementation with `Effect.provide(AWS.FMS.ListComplianceStatusHttp)`.
16 * ### Compliance and Protection Status
17 * **Example:** List a Policy's Compliance Status
18 * ```typescript
19 * // init — account-level binding takes no resource
20 * const listComplianceStatus = yield* AWS.FMS.ListComplianceStatus();
21 *
22 * // runtime
23 * const result = yield* listComplianceStatus({ PolicyId: policyId });
24 * console.log(result.PolicyComplianceStatusList?.length);
25 * ```
26 *
27 * @binding
28 */
29export interface ListComplianceStatus extends Binding.Service<
30 ListComplianceStatus,
31 "AWS.FMS.ListComplianceStatus",
32 () => Effect.Effect<
33 (
34 request: ListComplianceStatusRequest,
35 ) => Effect.Effect<
36 fms.ListComplianceStatusResponse,
37 fms.ListComplianceStatusError
38 >
39 >
40> {}
41
42export const ListComplianceStatus = Binding.Service<ListComplianceStatus>(
43 "AWS.FMS.ListComplianceStatus",
44);