1import type * as signer from "@distilled.cloud/aws/signer";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `signer:RevokeSignature`.
7 *
8 * Permanently invalidates the signature produced by a single signing job —
9 * the surgical alternative to revoking a whole profile version when one
10 * artifact is compromised. Account-level operation — job ids are chosen per
11 * request at runtime, so the binding takes no resource argument. Provide the
12 * implementation with `Effect.provide(AWS.Signer.RevokeSignatureHttp)`.
13 * ### Revoking Signatures
14 * **Example:** Revoke One Job's Signature
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const revokeSignature = yield* AWS.Signer.RevokeSignature();
18 *
19 * // runtime
20 * yield* revokeSignature({ jobId, reason: "artifact compromised" });
21 * ```
22 *
23 * @binding
24 */
25export interface RevokeSignature extends Binding.Service<
26 RevokeSignature,
27 "AWS.Signer.RevokeSignature",
28 () => Effect.Effect<
29 (
30 request: signer.RevokeSignatureRequest,
31 ) => Effect.Effect<
32 signer.RevokeSignatureResponse,
33 signer.RevokeSignatureError
34 >
35 >
36> {}
37export const RevokeSignature = Binding.Service<RevokeSignature>(
38 "AWS.Signer.RevokeSignature",
39);