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:UpdateIncidentRecord`.
7 *
8 * Updates the details of an incident record — retitle, change impact, or
9 * resolve the incident by setting `status: "RESOLVED"`. Incident-record ARNs
10 * only exist at runtime, so the deploy-time grant is account-level
11 * (`Resource: "*"`).
12 * Provide the implementation with
13 * `Effect.provide(AWS.SSMIncidents.UpdateIncidentRecordHttp)`.
14 * ### Updating Incident Records
15 * **Example:** Resolve An Incident
16 * ```typescript
17 * // init
18 * const updateIncidentRecord = yield* AWS.SSMIncidents.UpdateIncidentRecord();
19 *
20 * // runtime
21 * yield* updateIncidentRecord({ arn: incidentRecordArn, status: "RESOLVED" });
22 * ```
23 *
24 * @binding
25 */
26export interface UpdateIncidentRecord extends Binding.Service<
27 UpdateIncidentRecord,
28 "AWS.SSMIncidents.UpdateIncidentRecord",
29 () => Effect.Effect<
30 (
31 request: incidents.UpdateIncidentRecordInput,
32 ) => Effect.Effect<
33 incidents.UpdateIncidentRecordOutput,
34 incidents.UpdateIncidentRecordError
35 >
36 >
37> {}
38export const UpdateIncidentRecord = Binding.Service<UpdateIncidentRecord>(
39 "AWS.SSMIncidents.UpdateIncidentRecord",
40);