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:UpdateTimelineEvent`.
7 *
8 * Updates a timeline event's time, type, data, or references. Timeline events
9 * live 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.UpdateTimelineEventHttp)`.
13 * ### Timeline Events
14 * **Example:** Amend A Timeline Event
15 * ```typescript
16 * // init
17 * const updateTimelineEvent = yield* AWS.SSMIncidents.UpdateTimelineEvent();
18 *
19 * // runtime
20 * yield* updateTimelineEvent({
21 * incidentRecordArn,
22 * eventId,
23 * eventData: JSON.stringify({ note: "mitigation confirmed" }),
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface UpdateTimelineEvent extends Binding.Service<
30 UpdateTimelineEvent,
31 "AWS.SSMIncidents.UpdateTimelineEvent",
32 () => Effect.Effect<
33 (
34 request: incidents.UpdateTimelineEventInput,
35 ) => Effect.Effect<
36 incidents.UpdateTimelineEventOutput,
37 incidents.UpdateTimelineEventError
38 >
39 >
40> {}
41export const UpdateTimelineEvent = Binding.Service<UpdateTimelineEvent>(
42 "AWS.SSMIncidents.UpdateTimelineEvent",
43);