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:DescribeOrganizationResourceCollectionHealth`.
7 *
8 * Returns per-CloudFormation-stack (or per-tag/per-service) insight counts across the organization's accounts.
9 * Provide the implementation with
10 * `Effect.provide(AWS.DevOpsGuru.DescribeOrganizationResourceCollectionHealthHttp)`.
11 * ### Organization Visibility
12 * **Example:** Read Per-Stack Health Across Accounts
13 * ```typescript
14 * // init — account-level binding, no resource argument
15 * const describeOrganizationResourceCollectionHealth = yield* AWS.DevOpsGuru.DescribeOrganizationResourceCollectionHealth();
16 *
17 * // runtime
18 * const page = yield* describeOrganizationResourceCollectionHealth({
19 * OrganizationResourceCollectionType: "AWS_CLOUD_FORMATION",
20 * });
21 * yield* Effect.log(`stacks analyzed: ${page.CloudFormation?.length}`);
22 * ```
23 *
24 * @binding
25 */
26export interface DescribeOrganizationResourceCollectionHealth extends Binding.Service<
27 DescribeOrganizationResourceCollectionHealth,
28 "AWS.DevOpsGuru.DescribeOrganizationResourceCollectionHealth",
29 () => Effect.Effect<
30 (
31 request: devopsguru.DescribeOrganizationResourceCollectionHealthRequest,
32 ) => Effect.Effect<
33 devopsguru.DescribeOrganizationResourceCollectionHealthResponse,
34 devopsguru.DescribeOrganizationResourceCollectionHealthError
35 >
36 >
37> {}
38export const DescribeOrganizationResourceCollectionHealth =
39 Binding.Service<DescribeOrganizationResourceCollectionHealth>(
40 "AWS.DevOpsGuru.DescribeOrganizationResourceCollectionHealth",
41 );