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:ListServiceStates`.
7 *
8 * Returns the last deployment and other change states of discovered
9 * services — visibility into recent changes for troubleshooting and change
10 * correlation. Provide the implementation with
11 * `Effect.provide(AWS.ApplicationSignals.ListServiceStatesHttp)`.
12 * ### Tracking Changes
13 * **Example:** List Recent Service States
14 * ```typescript
15 * // init — account-level, no resource argument
16 * const listServiceStates = yield* AWS.ApplicationSignals.ListServiceStates();
17 *
18 * // runtime
19 * const page = yield* listServiceStates({
20 * StartTime: new Date(Date.now() - 24 * 3600_000),
21 * EndTime: new Date(),
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface ListServiceStates extends Binding.Service<
28 ListServiceStates,
29 "AWS.ApplicationSignals.ListServiceStates",
30 () => Effect.Effect<
31 (
32 request: appsignals.ListServiceStatesInput,
33 ) => Effect.Effect<
34 appsignals.ListServiceStatesOutput,
35 appsignals.ListServiceStatesError
36 >
37 >
38> {}
39
40export const ListServiceStates = Binding.Service<ListServiceStates>(
41 "AWS.ApplicationSignals.ListServiceStates",
42);