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