1import type * as aiops from "@distilled.cloud/aws/aiops";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `aiops:ListInvestigationGroups`.
7 *
8 * Enumerates the Region's investigation groups (each item carries the
9 * group's name and ARN). An account holds at most one investigation group
10 * per Region, so this doubles as an existence probe. Provide the
11 * implementation with
12 * `Effect.provide(AWS.AIOps.ListInvestigationGroupsHttp)`.
13 * ### Listing Investigation Groups
14 * **Example:** Discover the Region's Investigation Group
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const listInvestigationGroups = yield* AWS.AIOps.ListInvestigationGroups();
18 *
19 * // runtime
20 * const { investigationGroups } = yield* listInvestigationGroups();
21 * for (const group of investigationGroups ?? []) {
22 * yield* Effect.log(`${group.name}: ${group.arn}`);
23 * }
24 * ```
25 *
26 * @binding
27 */
28export interface ListInvestigationGroups extends Binding.Service<
29 ListInvestigationGroups,
30 "AWS.AIOps.ListInvestigationGroups",
31 () => Effect.Effect<
32 (
33 request?: aiops.ListInvestigationGroupsInput,
34 ) => Effect.Effect<
35 aiops.ListInvestigationGroupsOutput,
36 aiops.ListInvestigationGroupsError
37 >
38 >
39> {}
40export const ListInvestigationGroups = Binding.Service<ListInvestigationGroups>(
41 "AWS.AIOps.ListInvestigationGroups",
42);