1import type * as appsignals from "@distilled.cloud/aws/application-signals";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `application-signals:ListServices`.
7 *
8 * Lists the services discovered by Application Signals during a time range.
9 * Provide the implementation with
10 * `Effect.provide(AWS.ApplicationSignals.ListServicesHttp)`.
11 * ### Discovering Services
12 * **Example:** List Discovered Services
13 * ```typescript
14 * // init — account-level, no resource argument
15 * const listServices = yield* AWS.ApplicationSignals.ListServices();
16 *
17 * // runtime
18 * const page = yield* listServices({
19 * StartTime: new Date(Date.now() - 3600_000),
20 * EndTime: new Date(),
21 * });
22 * for (const service of page.ServiceSummaries) {
23 * yield* Effect.log(service.KeyAttributes?.Name);
24 * }
25 * ```
26 *
27 * @binding
28 */
29export interface ListServices extends Binding.Service<
30 ListServices,
31 "AWS.ApplicationSignals.ListServices",
32 () => Effect.Effect<
33 (
34 request: appsignals.ListServicesInput,
35 ) => Effect.Effect<
36 appsignals.ListServicesOutput,
37 appsignals.ListServicesError
38 >
39 >
40> {}
41
42export const ListServices = Binding.Service<ListServices>(
43 "AWS.ApplicationSignals.ListServices",
44);