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:GetDiscoveredResourceCounts` — count the
7 * resources AWS Config has discovered, grouped by resource type.
8 *
9 * Provide `Config.GetDiscoveredResourceCountsHttp` on the hosting Lambda Function to
10 * satisfy the requirement.
11 * ### Discovering Resources
12 * **Example:** Count Discovered Resources
13 * ```typescript
14 * // init — grants config:GetDiscoveredResourceCounts
15 * const getDiscoveredResourceCounts = yield* AWS.Config.GetDiscoveredResourceCounts();
16 *
17 * // runtime
18 * const result = yield* getDiscoveredResourceCounts();
19 * console.log(result.totalDiscoveredResources, result.resourceCounts);
20 * ```
21 *
22 * @binding
23 */
24export interface GetDiscoveredResourceCounts extends Binding.Service<
25 GetDiscoveredResourceCounts,
26 "AWS.Config.GetDiscoveredResourceCounts",
27 () => Effect.Effect<
28 (
29 request?: config.GetDiscoveredResourceCountsRequest,
30 ) => Effect.Effect<
31 config.GetDiscoveredResourceCountsResponse,
32 config.GetDiscoveredResourceCountsError
33 >
34 >
35> {}
36
37export const GetDiscoveredResourceCounts =
38 Binding.Service<GetDiscoveredResourceCounts>(
39 "AWS.Config.GetDiscoveredResourceCounts",
40 );