1import type * as greengrassv2 from "@distilled.cloud/aws/greengrassv2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `greengrass:DeleteCoreDevice`.
7 *
8 * Deregisters a core device from IoT Greengrass (the backing IoT thing is
9 * untouched) — the fleet-decommissioning primitive for automation that
10 * retires devices. The caller supplies the core device thing name at
11 * runtime. Provide the implementation with
12 * `Effect.provide(AWS.GreengrassV2.DeleteCoreDeviceHttp)`.
13 * ### Managing Core Devices
14 * **Example:** Decommission A Core Device
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const deleteCoreDevice = yield* AWS.GreengrassV2.DeleteCoreDevice();
18 *
19 * // runtime
20 * yield* deleteCoreDevice({ coreDeviceThingName: "RetiredCore" });
21 * ```
22 *
23 * @binding
24 */
25export interface DeleteCoreDevice extends Binding.Service<
26 DeleteCoreDevice,
27 "AWS.GreengrassV2.DeleteCoreDevice",
28 () => Effect.Effect<
29 (
30 request: greengrassv2.DeleteCoreDeviceRequest,
31 ) => Effect.Effect<
32 greengrassv2.DeleteCoreDeviceResponse,
33 greengrassv2.DeleteCoreDeviceError
34 >
35 >
36> {}
37export const DeleteCoreDevice = Binding.Service<DeleteCoreDevice>(
38 "AWS.GreengrassV2.DeleteCoreDevice",
39);