1import type * as devopsguru from "@distilled.cloud/aws/devops-guru";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `devops-guru:DescribeResourceCollectionHealth`.
7 *
8 * Returns the number of open insights per analyzed CloudFormation stack or app-boundary tag — where the operational pain is concentrated.
9 * Provide the implementation with
10 * `Effect.provide(AWS.DevOpsGuru.DescribeResourceCollectionHealthHttp)`.
11 * ### Coverage Health
12 * **Example:** Read Per-Stack Health
13 * ```typescript
14 * // init — account-level binding, no resource argument
15 * const describeResourceCollectionHealth = yield* AWS.DevOpsGuru.DescribeResourceCollectionHealth();
16 *
17 * // runtime
18 * const page = yield* describeResourceCollectionHealth({
19 * ResourceCollectionType: "AWS_CLOUD_FORMATION",
20 * });
21 * for (const stack of page.CloudFormation ?? []) {
22 * yield* Effect.log(`${stack.StackName}: ${stack.Insight?.OpenReactiveInsights}`);
23 * }
24 * ```
25 *
26 * @binding
27 */
28export interface DescribeResourceCollectionHealth extends Binding.Service<
29 DescribeResourceCollectionHealth,
30 "AWS.DevOpsGuru.DescribeResourceCollectionHealth",
31 () => Effect.Effect<
32 (
33 request: devopsguru.DescribeResourceCollectionHealthRequest,
34 ) => Effect.Effect<
35 devopsguru.DescribeResourceCollectionHealthResponse,
36 devopsguru.DescribeResourceCollectionHealthError
37 >
38 >
39> {}
40export const DescribeResourceCollectionHealth =
41 Binding.Service<DescribeResourceCollectionHealth>(
42 "AWS.DevOpsGuru.DescribeResourceCollectionHealth",
43 );