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:GetSigningPlatform`.
7 *
8 * Reads one AWS-managed signing platform by id — its signing configuration
9 * (encryption/hash algorithms), image format, size limit, and whether it
10 * supports revocation. Account-level operation over the AWS-managed platform
11 * catalog, so the binding takes no resource argument. Provide the
12 * implementation with `Effect.provide(AWS.Signer.GetSigningPlatformHttp)`.
13 * ### Discovering Platforms
14 * **Example:** Check Revocation Support
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const getSigningPlatform = yield* AWS.Signer.GetSigningPlatform();
18 *
19 * // runtime
20 * const platform = yield* getSigningPlatform({
21 * platformId: "AWSLambda-SHA384-ECDSA",
22 * });
23 * const canRevoke = platform.revocationSupported === true;
24 * ```
25 *
26 * @binding
27 */
28export interface GetSigningPlatform extends Binding.Service<
29 GetSigningPlatform,
30 "AWS.Signer.GetSigningPlatform",
31 () => Effect.Effect<
32 (
33 request: signer.GetSigningPlatformRequest,
34 ) => Effect.Effect<
35 signer.GetSigningPlatformResponse,
36 signer.GetSigningPlatformError
37 >
38 >
39> {}
40export const GetSigningPlatform = Binding.Service<GetSigningPlatform>(
41 "AWS.Signer.GetSigningPlatform",
42);