1import type * as opensearch from "@distilled.cloud/aws/opensearch";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DescribeDomainConfig` operation (IAM action
7 * `es:DescribeDomainConfig`).
8 *
9 * Reads a domain's full configuration, with per-option status metadata (update date, state, pending values) — the authoritative view of what a blue/green change is converging toward. Provide the implementation with
10 * `Effect.provide(AWS.OpenSearch.DescribeDomainConfigHttp)`.
11 * ### Monitoring Domains
12 * **Example:** Read a Domain's Configuration
13 * ```typescript
14 * const describeDomainConfig = yield* OpenSearch.DescribeDomainConfig();
15 *
16 * const result = yield* describeDomainConfig({ DomainName: name });
17 * // result.DomainConfig.ClusterConfig?.Status.State → "Active"
18 * ```
19 *
20 * @binding
21 */
22export interface DescribeDomainConfig extends Binding.Service<
23 DescribeDomainConfig,
24 "AWS.OpenSearch.DescribeDomainConfig",
25 () => Effect.Effect<
26 (
27 request: opensearch.DescribeDomainConfigRequest,
28 ) => Effect.Effect<
29 opensearch.DescribeDomainConfigResponse,
30 opensearch.DescribeDomainConfigError
31 >
32 >
33> {}
34export const DescribeDomainConfig = Binding.Service<DescribeDomainConfig>(
35 "AWS.OpenSearch.DescribeDomainConfig",
36);