1import type * as mi from "@distilled.cloud/aws/iot-managed-integrations";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link ListDeviceDiscoveries}.
7 */
8export interface ListDeviceDiscoveriesRequest
9 extends mi.ListDeviceDiscoveriesRequest {}
10
11/**
12 * Runtime binding for `iotmanagedintegrations:ListDeviceDiscoveries`
13 * (account-level).
14 *
15 * Lists the discovery scans in the account, optionally filtered by type or
16 * status — useful for finding a running scan before polling it with
17 * {@link GetDeviceDiscovery}. Provide the implementation with
18 * `Effect.provide(AWS.IoTManagedIntegrations.ListDeviceDiscoveriesHttp)`.
19 *
20 * ### Discovering Devices
21 * **Example:** List Running Discovery Scans
22 * ```typescript
23 * const listDiscoveries = yield* IoTManagedIntegrations.ListDeviceDiscoveries();
24 *
25 * const { Items } = yield* listDiscoveries({ StatusFilter: "RUNNING" });
26 * ```
27 *
28 * @binding
29 */
30export interface ListDeviceDiscoveries extends Binding.Service<
31 ListDeviceDiscoveries,
32 "AWS.IoTManagedIntegrations.ListDeviceDiscoveries",
33 () => Effect.Effect<
34 (
35 request?: ListDeviceDiscoveriesRequest,
36 ) => Effect.Effect<
37 mi.ListDeviceDiscoveriesResponse,
38 mi.ListDeviceDiscoveriesError
39 >
40 >
41> {}
42export const ListDeviceDiscoveries = Binding.Service<ListDeviceDiscoveries>(
43 "AWS.IoTManagedIntegrations.ListDeviceDiscoveries",
44);