1import type * as aa from "@distilled.cloud/aws/accessanalyzer";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Analyzer } from "./Analyzer.ts";
5
6/** `GenerateFindingRecommendation` request with `analyzerArn` injected from the bound {@link Analyzer}. */
7export interface GenerateFindingRecommendationRequest extends Omit<
8 aa.GenerateFindingRecommendationRequest,
9 "analyzerArn"
10> {}
11
12/**
13 * Runtime binding for `access-analyzer:GenerateFindingRecommendation`.
14 *
15 * Starts generating a remediation recommendation for an unused-permissions
16 * finding. Provide the implementation with
17 * `Effect.provide(AWS.AccessAnalyzer.GenerateFindingRecommendationHttp)`.
18 * ### Finding Recommendations
19 * **Example:** Generate a Recommendation
20 * ```typescript
21 * const generate =
22 * yield* AWS.AccessAnalyzer.GenerateFindingRecommendation(analyzer);
23 * yield* generate({ id: findingId });
24 * ```
25 *
26 * @binding
27 */
28export interface GenerateFindingRecommendation extends Binding.Service<
29 GenerateFindingRecommendation,
30 "AWS.AccessAnalyzer.GenerateFindingRecommendation",
31 (
32 analyzer: Analyzer,
33 ) => Effect.Effect<
34 (
35 request: GenerateFindingRecommendationRequest,
36 ) => Effect.Effect<
37 aa.GenerateFindingRecommendationResponse,
38 aa.GenerateFindingRecommendationError
39 >
40 >
41> {}
42
43export const GenerateFindingRecommendation =
44 Binding.Service<GenerateFindingRecommendation>(
45 "AWS.AccessAnalyzer.GenerateFindingRecommendation",
46 );