1import * as cloudwatch from "@distilled.cloud/aws/cloudwatch";
2import * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface ListMetricStreamsRequest
6 extends cloudwatch.ListMetricStreamsInput {}
7
8/**
9 * Runtime binding for `cloudwatch:ListMetricStreams` — list the metric
10 * streams in the account/region.
11 *
12 * Provide `CloudWatch.ListMetricStreamsHttp` on the hosting Lambda
13 * Function to satisfy the requirement.
14 * ### Reading Metric Streams
15 * **Example:** List Metric Streams
16 * ```typescript
17 * // init — grants cloudwatch:ListMetricStreams
18 * const listMetricStreams = yield* AWS.CloudWatch.ListMetricStreams();
19 *
20 * // runtime
21 * const result = yield* listMetricStreams();
22 * const entries = result.Entries ?? [];
23 * ```
24 *
25 * @binding
26 */
27export interface ListMetricStreams extends Binding.Service<
28 ListMetricStreams,
29 "AWS.CloudWatch.ListMetricStreams",
30 () => Effect.Effect<
31 (
32 request?: ListMetricStreamsRequest,
33 ) => Effect.Effect<
34 cloudwatch.ListMetricStreamsOutput,
35 cloudwatch.ListMetricStreamsError
36 >
37 >
38> {}
39
40export const ListMetricStreams = Binding.Service<ListMetricStreams>(
41 "AWS.CloudWatch.ListMetricStreams",
42);