1import * as wafv2 from "@distilled.cloud/aws/wafv2";
2import * as Layer from "effect/Layer";
3import { makeWafv2AccountHttpBinding } from "./BindingHttp.ts";
4import {
5 DescribeAllManagedProducts,
6 DescribeManagedProductsByVendor,
7 DescribeManagedRuleGroup,
8 ListAvailableManagedRuleGroups,
9 ListAvailableManagedRuleGroupVersions,
10} from "./ManagedRuleGroups.ts";
11
12export const DescribeManagedRuleGroupHttp = Layer.effect(
13 DescribeManagedRuleGroup,
14 makeWafv2AccountHttpBinding({
15 tag: "AWS.WAFv2.DescribeManagedRuleGroup",
16 operation: wafv2.describeManagedRuleGroup,
17 actions: ["wafv2:DescribeManagedRuleGroup"],
18 }),
19);
20
21export const ListAvailableManagedRuleGroupsHttp = Layer.effect(
22 ListAvailableManagedRuleGroups,
23 makeWafv2AccountHttpBinding({
24 tag: "AWS.WAFv2.ListAvailableManagedRuleGroups",
25 operation: wafv2.listAvailableManagedRuleGroups,
26 actions: ["wafv2:ListAvailableManagedRuleGroups"],
27 }),
28);
29
30export const ListAvailableManagedRuleGroupVersionsHttp = Layer.effect(
31 ListAvailableManagedRuleGroupVersions,
32 makeWafv2AccountHttpBinding({
33 tag: "AWS.WAFv2.ListAvailableManagedRuleGroupVersions",
34 operation: wafv2.listAvailableManagedRuleGroupVersions,
35 actions: ["wafv2:ListAvailableManagedRuleGroupVersions"],
36 }),
37);
38
39export const DescribeAllManagedProductsHttp = Layer.effect(
40 DescribeAllManagedProducts,
41 makeWafv2AccountHttpBinding({
42 tag: "AWS.WAFv2.DescribeAllManagedProducts",
43 operation: wafv2.describeAllManagedProducts,
44 actions: ["wafv2:DescribeAllManagedProducts"],
45 }),
46);
47
48export const DescribeManagedProductsByVendorHttp = Layer.effect(
49 DescribeManagedProductsByVendor,
50 makeWafv2AccountHttpBinding({
51 tag: "AWS.WAFv2.DescribeManagedProductsByVendor",
52 operation: wafv2.describeManagedProductsByVendor,
53 actions: ["wafv2:DescribeManagedProductsByVendor"],
54 }),
55);