1import type * as eks from "@distilled.cloud/aws/eks";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `eks:DescribeAddonConfiguration`.
7 *
8 * Reads an add-on version's configuration JSON schema — the shape its `configurationValues` must satisfy.
9 * `eks:DescribeAddonConfiguration` is granted on `*` — the operation is account-scoped and takes no resource.
10 * Provide the implementation with
11 * `Effect.provide(AWS.EKS.DescribeAddonConfigurationHttp)`.
12 * ### Version Catalogs
13 * **Example:** Read an Add-on's Configuration Schema
14 * ```typescript
15 * // init
16 * const describeAddonConfiguration =
17 * yield* AWS.EKS.DescribeAddonConfiguration();
18 *
19 * // runtime
20 * const { configurationSchema } = yield* describeAddonConfiguration({
21 * addonName: "vpc-cni",
22 * addonVersion,
23 * });
24 * ```
25 *
26 * @binding
27 */
28export interface DescribeAddonConfiguration extends Binding.Service<
29 DescribeAddonConfiguration,
30 "AWS.EKS.DescribeAddonConfiguration",
31 () => Effect.Effect<
32 (
33 request: eks.DescribeAddonConfigurationRequest,
34 ) => Effect.Effect<
35 eks.DescribeAddonConfigurationResponse,
36 eks.DescribeAddonConfigurationError
37 >
38 >
39> {}
40export const DescribeAddonConfiguration =
41 Binding.Service<DescribeAddonConfiguration>(
42 "AWS.EKS.DescribeAddonConfiguration",
43 );