1import * as im from "@distilled.cloud/aws/internetmonitor";
2import * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface ListInternetEventsRequest extends im.ListInternetEventsInput {}
6
7/**
8 * Runtime binding for `internetmonitor:ListInternetEvents` — list the global
9 * internet events (performance or availability issues at client locations)
10 * from the outages map Internet Monitor publishes for all AWS customers.
11 * Internet events are account-level; no monitor is required.
12 *
13 * Provide `InternetMonitor.ListInternetEventsHttp` on the hosting Lambda
14 * Function to satisfy the requirement.
15 * ### Reading Internet Events
16 * **Example:** List Active Internet Events
17 * ```typescript
18 * // init — grants internetmonitor:ListInternetEvents
19 * const listInternetEvents = yield* AWS.InternetMonitor.ListInternetEvents();
20 *
21 * // runtime
22 * const { InternetEvents } = yield* listInternetEvents({
23 * EventStatus: "ACTIVE",
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface ListInternetEvents extends Binding.Service<
30 ListInternetEvents,
31 "AWS.InternetMonitor.ListInternetEvents",
32 () => Effect.Effect<
33 (
34 request?: ListInternetEventsRequest,
35 ) => Effect.Effect<im.ListInternetEventsOutput, im.ListInternetEventsError>
36 >
37> {}
38
39export const ListInternetEvents = Binding.Service<ListInternetEvents>(
40 "AWS.InternetMonitor.ListInternetEvents",
41);