1import type * as incidents from "@distilled.cloud/aws/ssm-incidents";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `ssm-incidents:GetTimelineEvent`.
7 *
8 * Returns one timeline event of an incident by event id. Timeline events live
9 * under runtime incident-record ARNs, so the deploy-time grant is
10 * account-level (`Resource: "*"`).
11 * Provide the implementation with
12 * `Effect.provide(AWS.SSMIncidents.GetTimelineEventHttp)`.
13 * ### Timeline Events
14 * **Example:** Read A Timeline Event
15 * ```typescript
16 * // init
17 * const getTimelineEvent = yield* AWS.SSMIncidents.GetTimelineEvent();
18 *
19 * // runtime
20 * const { event } = yield* getTimelineEvent({ incidentRecordArn, eventId });
21 * ```
22 *
23 * @binding
24 */
25export interface GetTimelineEvent extends Binding.Service<
26 GetTimelineEvent,
27 "AWS.SSMIncidents.GetTimelineEvent",
28 () => Effect.Effect<
29 (
30 request: incidents.GetTimelineEventInput,
31 ) => Effect.Effect<
32 incidents.GetTimelineEventOutput,
33 incidents.GetTimelineEventError
34 >
35 >
36> {}
37export const GetTimelineEvent = Binding.Service<GetTimelineEvent>(
38 "AWS.SSMIncidents.GetTimelineEvent",
39);