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:ListServiceLevelObjectives`.
7 *
8 * Lists the service level objectives in this account, optionally filtered by
9 * service key attributes, operation name, or dependency config. Provide the
10 * implementation with
11 * `Effect.provide(AWS.ApplicationSignals.ListServiceLevelObjectivesHttp)`.
12 * ### Listing Service Level Objectives
13 * **Example:** List All SLOs
14 * ```typescript
15 * // init — account-level, no resource argument
16 * const listSlos = yield* AWS.ApplicationSignals.ListServiceLevelObjectives();
17 *
18 * // runtime
19 * const page = yield* listSlos({});
20 * for (const slo of page.SloSummaries) {
21 * yield* Effect.log(`${slo.Name}: ${slo.Arn}`);
22 * }
23 * ```
24 *
25 * @binding
26 */
27export interface ListServiceLevelObjectives extends Binding.Service<
28 ListServiceLevelObjectives,
29 "AWS.ApplicationSignals.ListServiceLevelObjectives",
30 () => Effect.Effect<
31 (
32 request: appsignals.ListServiceLevelObjectivesInput,
33 ) => Effect.Effect<
34 appsignals.ListServiceLevelObjectivesOutput,
35 appsignals.ListServiceLevelObjectivesError
36 >
37 >
38> {}
39
40export const ListServiceLevelObjectives =
41 Binding.Service<ListServiceLevelObjectives>(
42 "AWS.ApplicationSignals.ListServiceLevelObjectives",
43 );