1import type * as config from "@distilled.cloud/aws/config-service";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `config:DeleteResourceConfig` — delete the recorded
7 * configuration of a custom (third-party) resource previously recorded via
8 * `PutResourceConfig`.
9 *
10 * Provide `Config.DeleteResourceConfigHttp` on the hosting Lambda Function to
11 * satisfy the requirement.
12 * ### Recording Custom Resources
13 * **Example:** Delete a Custom Resource's Configuration
14 * ```typescript
15 * // init — grants config:DeleteResourceConfig
16 * const deleteResourceConfig = yield* AWS.Config.DeleteResourceConfig();
17 *
18 * // runtime
19 * yield* deleteResourceConfig({
20 * ResourceType: "MyCompany::Service::Widget",
21 * ResourceId: "widget-1",
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface DeleteResourceConfig extends Binding.Service<
28 DeleteResourceConfig,
29 "AWS.Config.DeleteResourceConfig",
30 () => Effect.Effect<
31 (
32 request: config.DeleteResourceConfigRequest,
33 ) => Effect.Effect<
34 config.DeleteResourceConfigResponse,
35 config.DeleteResourceConfigError
36 >
37 >
38> {}
39
40export const DeleteResourceConfig = Binding.Service<DeleteResourceConfig>(
41 "AWS.Config.DeleteResourceConfig",
42);