1import type * as config from "@distilled.cloud/aws/config-service";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `config:GetComplianceSummaryByConfigRule` — read the
7 * account-wide count of compliant vs. noncompliant Config rules.
8 *
9 * Provide `Config.GetComplianceSummaryByConfigRuleHttp` on the hosting Lambda Function to
10 * satisfy the requirement.
11 * ### Reading Compliance
12 * **Example:** Summarize Rule Compliance
13 * ```typescript
14 * // init — grants config:GetComplianceSummaryByConfigRule
15 * const getComplianceSummaryByConfigRule = yield* AWS.Config.GetComplianceSummaryByConfigRule();
16 *
17 * // runtime
18 * const result = yield* getComplianceSummaryByConfigRule();
19 * console.log(result.ComplianceSummary?.NonCompliantResourceCount);
20 * ```
21 *
22 * @binding
23 */
24export interface GetComplianceSummaryByConfigRule extends Binding.Service<
25 GetComplianceSummaryByConfigRule,
26 "AWS.Config.GetComplianceSummaryByConfigRule",
27 () => Effect.Effect<
28 (
29 request?: config.GetComplianceSummaryByConfigRuleRequest,
30 ) => Effect.Effect<
31 config.GetComplianceSummaryByConfigRuleResponse,
32 config.GetComplianceSummaryByConfigRuleError
33 >
34 >
35> {}
36
37export const GetComplianceSummaryByConfigRule =
38 Binding.Service<GetComplianceSummaryByConfigRule>(
39 "AWS.Config.GetComplianceSummaryByConfigRule",
40 );