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 ListPolicies}.
7 */
8export interface ListPoliciesRequest extends fms.ListPoliciesRequest {}
9
10/**
11 * Runtime binding for `fms:ListPolicies`.
12 *
13 * Returns the `PolicySummary` list for the Firewall Manager policies in the administrator's account. Provide the
14 * implementation with `Effect.provide(AWS.FMS.ListPoliciesHttp)`.
15 * ### Reading Policies
16 * **Example:** List Policies
17 * ```typescript
18 * // init — account-level binding takes no resource
19 * const listPolicies = yield* AWS.FMS.ListPolicies();
20 *
21 * // runtime
22 * const result = yield* listPolicies();
23 * console.log(result.PolicyList?.length);
24 * ```
25 *
26 * @binding
27 */
28export interface ListPolicies extends Binding.Service<
29 ListPolicies,
30 "AWS.FMS.ListPolicies",
31 () => Effect.Effect<
32 (
33 request?: ListPoliciesRequest,
34 ) => Effect.Effect<fms.ListPoliciesResponse, fms.ListPoliciesError>
35 >
36> {}
37
38export const ListPolicies = Binding.Service<ListPolicies>(
39 "AWS.FMS.ListPolicies",
40);