1import type * as notifications from "@distilled.cloud/aws/notifications";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link GetManagedNotificationConfiguration}.
7 */
8export interface GetManagedNotificationConfigurationRequest
9 extends notifications.GetManagedNotificationConfigurationRequest {}
10
11/**
12 * Runtime binding for `notifications:GetManagedNotificationConfiguration`.
13 *
14 * Fetch one AWS-managed notification configuration (the AWS Health
15 * Security/Operations/Issue/Billing categories) by its ARN. Provide the
16 * implementation with
17 * `Effect.provide(AWS.Notifications.GetManagedNotificationConfigurationHttp)`.
18 * ### Reading AWS-Managed Notifications
19 * **Example:** Fetch a Managed Notification Configuration
20 * ```typescript
21 * // init — account-level binding takes no resource
22 * const getManagedNotificationConfiguration =
23 * yield* AWS.Notifications.GetManagedNotificationConfiguration();
24 *
25 * // runtime
26 * const config = yield* getManagedNotificationConfiguration({
27 * arn: managedConfigArn,
28 * });
29 * ```
30 *
31 * @binding
32 */
33export interface GetManagedNotificationConfiguration extends Binding.Service<
34 GetManagedNotificationConfiguration,
35 "AWS.Notifications.GetManagedNotificationConfiguration",
36 () => Effect.Effect<
37 (
38 request: GetManagedNotificationConfigurationRequest,
39 ) => Effect.Effect<
40 notifications.GetManagedNotificationConfigurationResponse,
41 notifications.GetManagedNotificationConfigurationError
42 >
43 >
44> {}
45
46export const GetManagedNotificationConfiguration =
47 Binding.Service<GetManagedNotificationConfiguration>(
48 "AWS.Notifications.GetManagedNotificationConfiguration",
49 );