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:GetIncidentRecord`.
7 *
8 * Returns the details of an incident record — title, impact, status, chat
9 * channel, and notification targets. Incident-record ARNs only exist at
10 * runtime, so the deploy-time grant is account-level (`Resource: "*"`).
11 * Provide the implementation with
12 * `Effect.provide(AWS.SSMIncidents.GetIncidentRecordHttp)`.
13 * ### Reading Incident Records
14 * **Example:** Read An Incident
15 * ```typescript
16 * // init
17 * const getIncidentRecord = yield* AWS.SSMIncidents.GetIncidentRecord();
18 *
19 * // runtime
20 * const { incidentRecord } = yield* getIncidentRecord({ arn: incidentRecordArn });
21 * ```
22 *
23 * @binding
24 */
25export interface GetIncidentRecord extends Binding.Service<
26 GetIncidentRecord,
27 "AWS.SSMIncidents.GetIncidentRecord",
28 () => Effect.Effect<
29 (
30 request: incidents.GetIncidentRecordInput,
31 ) => Effect.Effect<
32 incidents.GetIncidentRecordOutput,
33 incidents.GetIncidentRecordError
34 >
35 >
36> {}
37export const GetIncidentRecord = Binding.Service<GetIncidentRecord>(
38 "AWS.SSMIncidents.GetIncidentRecord",
39);