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:ListSigningPlatforms`.
7 *
8 * Lists the AWS-managed signing platforms (Lambda, Notation/OCI, IoT,
9 * FreeRTOS, …), filterable by category, partner, and target. Account-level
10 * operation over the AWS-managed platform catalog, so the binding takes no
11 * resource argument. Provide the implementation with
12 * `Effect.provide(AWS.Signer.ListSigningPlatformsHttp)`.
13 * ### Discovering Platforms
14 * **Example:** Enumerate Available Platforms
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const listSigningPlatforms = yield* AWS.Signer.ListSigningPlatforms();
18 *
19 * // runtime
20 * const { platforms } = yield* listSigningPlatforms();
21 * const ids = (platforms ?? []).map((p) => p.platformId);
22 * ```
23 *
24 * @binding
25 */
26export interface ListSigningPlatforms extends Binding.Service<
27 ListSigningPlatforms,
28 "AWS.Signer.ListSigningPlatforms",
29 () => Effect.Effect<
30 (
31 request?: signer.ListSigningPlatformsRequest,
32 ) => Effect.Effect<
33 signer.ListSigningPlatformsResponse,
34 signer.ListSigningPlatformsError
35 >
36 >
37> {}
38export const ListSigningPlatforms = Binding.Service<ListSigningPlatforms>(
39 "AWS.Signer.ListSigningPlatforms",
40);