1import type * as NFW from "@distilled.cloud/aws/network-firewall";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Firewall } from "./Firewall.ts";
5
6export interface GetAnalysisReportResultsRequest extends Omit<
7 NFW.GetAnalysisReportResultsRequest,
8 "FirewallArn" | "FirewallName"
9> {}
10
11/**
12 * Runtime binding for `network-firewall:GetAnalysisReportResults` — read the
13 * results of a completed traffic analysis report on the bound
14 * {@link Firewall}; the firewall ARN is injected automatically.
15 *
16 * Provide `NetworkFirewall.GetAnalysisReportResultsHttp` on the hosting
17 * Lambda Function to satisfy the requirement.
18 * ### Analysis Reports
19 * **Example:** Read Analysis Report Results
20 * ```typescript
21 * // init — grants network-firewall:GetAnalysisReportResults on the firewall
22 * const getAnalysisReportResults =
23 * yield* AWS.NetworkFirewall.GetAnalysisReportResults(firewall);
24 *
25 * // runtime
26 * const { AnalysisReportResults } = yield* getAnalysisReportResults({
27 * AnalysisReportId: analysisReportId,
28 * });
29 * ```
30 *
31 * @binding
32 */
33export interface GetAnalysisReportResults extends Binding.Service<
34 GetAnalysisReportResults,
35 "AWS.NetworkFirewall.GetAnalysisReportResults",
36 (
37 firewall: Firewall,
38 ) => Effect.Effect<
39 (
40 request: GetAnalysisReportResultsRequest,
41 ) => Effect.Effect<
42 NFW.GetAnalysisReportResultsResponse,
43 NFW.GetAnalysisReportResultsError
44 >
45 >
46> {}
47
48export const GetAnalysisReportResults =
49 Binding.Service<GetAnalysisReportResults>(
50 "AWS.NetworkFirewall.GetAnalysisReportResults",
51 );