1import type * as devopsguru from "@distilled.cloud/aws/devops-guru";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `devops-guru:DescribeInsight`.
7 *
8 * Returns the details of a single insight — severity, status, time ranges, and the SSM OpsItem id when OpsCenter integration is enabled. The building block of an incident-response Function reacting to DevOps Guru notifications.
9 * Provide the implementation with
10 * `Effect.provide(AWS.DevOpsGuru.DescribeInsightHttp)`.
11 * ### Inspecting Insights
12 * **Example:** Read an Insight's Detail
13 * ```typescript
14 * // init — account-level binding, no resource argument
15 * const describeInsight = yield* AWS.DevOpsGuru.DescribeInsight();
16 *
17 * // runtime
18 * const { ReactiveInsight } = yield* describeInsight({ Id: insightId });
19 * yield* Effect.log(`${ReactiveInsight?.Severity}: ${ReactiveInsight?.Name}`);
20 * ```
21 *
22 * @binding
23 */
24export interface DescribeInsight extends Binding.Service<
25 DescribeInsight,
26 "AWS.DevOpsGuru.DescribeInsight",
27 () => Effect.Effect<
28 (
29 request: devopsguru.DescribeInsightRequest,
30 ) => Effect.Effect<
31 devopsguru.DescribeInsightResponse,
32 devopsguru.DescribeInsightError
33 >
34 >
35> {}
36export const DescribeInsight = Binding.Service<DescribeInsight>(
37 "AWS.DevOpsGuru.DescribeInsight",
38);