1import type * as ssm from "@distilled.cloud/aws/ssm-contacts";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Rotation } from "./Rotation.ts";
5
6/**
7 * Runtime binding for `ssm-contacts:GetRotationOverride`.
8 *
9 * Read a rotation override of the bound rotation — its replacement
10 * contacts and time window. The rotation's ARN is injected as
11 * `RotationId`.
12 * Provide the implementation with
13 * `Effect.provide(AWS.SSMContacts.GetRotationOverrideHttp)`.
14 * ### Managing On-Call Rotations
15 * **Example:** Inspect an Override
16 * ```typescript
17 * const getRotationOverride = yield* AWS.SSMContacts.GetRotationOverride(rotation);
18 *
19 * const override = yield* getRotationOverride({
20 * RotationOverrideId: overrideId,
21 * });
22 * ```
23 *
24 * @binding
25 */
26export interface GetRotationOverride extends Binding.Service<
27 GetRotationOverride,
28 "AWS.SSMContacts.GetRotationOverride",
29 (
30 rotation: Rotation,
31 ) => Effect.Effect<
32 (
33 request: Omit<ssm.GetRotationOverrideRequest, "RotationId">,
34 ) => Effect.Effect<
35 ssm.GetRotationOverrideResult,
36 ssm.GetRotationOverrideError
37 >
38 >
39> {}
40export const GetRotationOverride = Binding.Service<GetRotationOverride>(
41 "AWS.SSMContacts.GetRotationOverride",
42);