1import type * as detective from "@distilled.cloud/aws/detective";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Graph } from "./Graph.ts";
5
6/**
7 * Runtime binding for `detective:BatchGetGraphMemberDatasources`.
8 *
9 * Reads per-member data source ingest history for the behavior graph —
10 * which packages each member account is contributing and when their ingest
11 * state last changed. The graph ARN is injected from the bound {@link Graph}.
12 * Provide the implementation with
13 * `Effect.provide(AWS.Detective.BatchGetGraphMemberDatasourcesHttp)`.
14 * ### Managing Data Source Packages
15 * **Example:** Inspect Member Ingest History
16 * ```typescript
17 * // init
18 * const batchGetGraphMemberDatasources =
19 * yield* AWS.Detective.BatchGetGraphMemberDatasources(graph);
20 *
21 * // runtime
22 * const { MemberDatasources } = yield* batchGetGraphMemberDatasources({
23 * AccountIds: ["111122223333"],
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface BatchGetGraphMemberDatasources extends Binding.Service<
30 BatchGetGraphMemberDatasources,
31 "AWS.Detective.BatchGetGraphMemberDatasources",
32 (
33 graph: Graph,
34 ) => Effect.Effect<
35 (
36 request: Omit<
37 detective.BatchGetGraphMemberDatasourcesRequest,
38 "GraphArn"
39 >,
40 ) => Effect.Effect<
41 detective.BatchGetGraphMemberDatasourcesResponse,
42 detective.BatchGetGraphMemberDatasourcesError
43 >
44 >
45> {}
46export const BatchGetGraphMemberDatasources =
47 Binding.Service<BatchGetGraphMemberDatasources>(
48 "AWS.Detective.BatchGetGraphMemberDatasources",
49 );