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:DescribeConfigRuleEvaluationStatus` — read
7 * the evaluation status (last invocation, last failure, first-evaluation
8 * flag) of your Config rules.
9 *
10 * Provide `Config.DescribeConfigRuleEvaluationStatusHttp` on the hosting Lambda Function to
11 * satisfy the requirement.
12 * ### Rule Evaluation Status
13 * **Example:** Read Rule Evaluation Status
14 * ```typescript
15 * // init — grants config:DescribeConfigRuleEvaluationStatus
16 * const describeConfigRuleEvaluationStatus = yield* AWS.Config.DescribeConfigRuleEvaluationStatus();
17 *
18 * // runtime
19 * const result = yield* describeConfigRuleEvaluationStatus();
20 * for (const status of result.ConfigRulesEvaluationStatus ?? []) {
21 * console.log(status.ConfigRuleName, status.LastSuccessfulInvocationTime);
22 * }
23 * ```
24 *
25 * @binding
26 */
27export interface DescribeConfigRuleEvaluationStatus extends Binding.Service<
28 DescribeConfigRuleEvaluationStatus,
29 "AWS.Config.DescribeConfigRuleEvaluationStatus",
30 () => Effect.Effect<
31 (
32 request?: config.DescribeConfigRuleEvaluationStatusRequest,
33 ) => Effect.Effect<
34 config.DescribeConfigRuleEvaluationStatusResponse,
35 config.DescribeConfigRuleEvaluationStatusError
36 >
37 >
38> {}
39
40export const DescribeConfigRuleEvaluationStatus =
41 Binding.Service<DescribeConfigRuleEvaluationStatus>(
42 "AWS.Config.DescribeConfigRuleEvaluationStatus",
43 );