1import type * as grafana from "@distilled.cloud/aws/grafana";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `ListVersions` operation (IAM action
7 * `grafana:ListVersions`).
8 *
9 * Lists the Grafana versions available when creating a workspace, or — with
10 * a `workspaceId` — the versions an existing workspace can be upgraded to.
11 * Provide the implementation with
12 * `Effect.provide(AWS.Grafana.ListVersionsHttp)`.
13 * ### Managing Configuration
14 * **Example:** List the Available Grafana Versions
15 * ```typescript
16 * const listVersions = yield* Grafana.ListVersions();
17 *
18 * const { grafanaVersions } = yield* listVersions();
19 * // grafanaVersions → ["10.4", "9.4", ...]
20 * ```
21 *
22 * @binding
23 */
24export interface ListVersions extends Binding.Service<
25 ListVersions,
26 "AWS.Grafana.ListVersions",
27 () => Effect.Effect<
28 (
29 request?: grafana.ListVersionsRequest,
30 ) => Effect.Effect<grafana.ListVersionsResponse, grafana.ListVersionsError>
31 >
32> {}
33export const ListVersions = Binding.Service<ListVersions>(
34 "AWS.Grafana.ListVersions",
35);