1import type * as fms from "@distilled.cloud/aws/fms";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link DeleteNotificationChannel}.
7 */
8export interface DeleteNotificationChannelRequest
9 extends fms.DeleteNotificationChannelRequest {}
10
11/**
12 * Runtime binding for `fms:DeleteNotificationChannel`.
13 *
14 * Deletes the Firewall Manager association with the IAM role and SNS topic used to record SNS logs. Provide the
15 * implementation with `Effect.provide(AWS.FMS.DeleteNotificationChannelHttp)`.
16 * ### Notification Channel
17 * **Example:** Delete the Notification Channel
18 * ```typescript
19 * // init — account-level binding takes no resource
20 * const deleteNotificationChannel = yield* AWS.FMS.DeleteNotificationChannel();
21 *
22 * // runtime
23 * yield* deleteNotificationChannel();
24 * ```
25 *
26 * @binding
27 */
28export interface DeleteNotificationChannel extends Binding.Service<
29 DeleteNotificationChannel,
30 "AWS.FMS.DeleteNotificationChannel",
31 () => Effect.Effect<
32 (
33 request?: DeleteNotificationChannelRequest,
34 ) => Effect.Effect<
35 fms.DeleteNotificationChannelResponse,
36 fms.DeleteNotificationChannelError
37 >
38 >
39> {}
40
41export const DeleteNotificationChannel =
42 Binding.Service<DeleteNotificationChannel>(
43 "AWS.FMS.DeleteNotificationChannel",
44 );