1import type * as ag from "@distilled.cloud/aws/api-gateway";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface GetApiKeysRequest extends ag.GetApiKeysRequest {}
6
7/**
8 * Runtime binding for listing API Gateway API keys
9 * (`apigateway:GET` on `/apikeys`). Account-scoped — takes no resource.
10 *
11 * Provide `ApiGateway.GetApiKeysHttp` on the Function effect to implement
12 * the binding.
13 *
14 * ### Managing API keys
15 * **Example:** Find keys by name prefix
16 * ```typescript
17 * // init
18 * const getApiKeys = yield* ApiGateway.GetApiKeys();
19 *
20 * // runtime
21 * const page = yield* getApiKeys({ nameQuery: "customer-", limit: 100 });
22 * ```
23 *
24 * @binding
25 */
26export interface GetApiKeys extends Binding.Service<
27 GetApiKeys,
28 "AWS.ApiGateway.GetApiKeys",
29 () => Effect.Effect<
30 (
31 request?: GetApiKeysRequest,
32 ) => Effect.Effect<ag.ApiKeys, ag.GetApiKeysError>
33 >
34> {}
35export const GetApiKeys = Binding.Service<GetApiKeys>(
36 "AWS.ApiGateway.GetApiKeys",
37);