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 PutAppsList}.
7 */
8export interface PutAppsListRequest extends fms.PutAppsListRequest {}
9
10/**
11 * Runtime binding for `fms:PutAppsList`.
12 *
13 * Creates or updates a Firewall Manager applications list. Provide the
14 * implementation with `Effect.provide(AWS.FMS.PutAppsListHttp)`.
15 * ### Applications Lists
16 * **Example:** Create an Applications List
17 * ```typescript
18 * // init — account-level binding takes no resource
19 * const putAppsList = yield* AWS.FMS.PutAppsList();
20 *
21 * // runtime
22 * const result = yield* putAppsList({
23 * AppsList: {
24 * ListName: "allowed-apps",
25 * AppsList: [{ AppName: "web", Protocol: "TCP", Port: 443 }],
26 * },
27 * });
28 * console.log(result.AppsList?.ListId);
29 * ```
30 *
31 * @binding
32 */
33export interface PutAppsList extends Binding.Service<
34 PutAppsList,
35 "AWS.FMS.PutAppsList",
36 () => Effect.Effect<
37 (
38 request: PutAppsListRequest,
39 ) => Effect.Effect<fms.PutAppsListResponse, fms.PutAppsListError>
40 >
41> {}
42
43export const PutAppsList = Binding.Service<PutAppsList>("AWS.FMS.PutAppsList");