1import type * as ce from "@distilled.cloud/aws/cost-explorer";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link ListSavingsPlansPurchaseRecommendationGeneration}.
7 */
8export interface ListSavingsPlansPurchaseRecommendationGenerationRequest
9 extends ce.ListSavingsPlansPurchaseRecommendationGenerationRequest {}
10
11/**
12 * Runtime binding for `ce:ListSavingsPlansPurchaseRecommendationGeneration`.
13 *
14 * List your Savings Plans recommendation generations from the past
15 * 30 days with their status. Provide the implementation with
16 * `Effect.provide(AWS.CostExplorer.ListSavingsPlansPurchaseRecommendationGenerationHttp)`.
17 * ### Savings Plans
18 * **Example:** List Recent Generations
19 * ```typescript
20 * // init — account-level binding takes no resource
21 * const listSavingsPlansPurchaseRecommendationGeneration = yield* AWS.CostExplorer.ListSavingsPlansPurchaseRecommendationGeneration();
22 *
23 * // runtime
24 * const result = yield* listSavingsPlansPurchaseRecommendationGeneration();
25 * const generations = result.GenerationSummaryList;
26 * ```
27 *
28 * @binding
29 */
30export interface ListSavingsPlansPurchaseRecommendationGeneration extends Binding.Service<
31 ListSavingsPlansPurchaseRecommendationGeneration,
32 "AWS.CostExplorer.ListSavingsPlansPurchaseRecommendationGeneration",
33 () => Effect.Effect<
34 (
35 request?: ListSavingsPlansPurchaseRecommendationGenerationRequest,
36 ) => Effect.Effect<
37 ce.ListSavingsPlansPurchaseRecommendationGenerationResponse,
38 ce.ListSavingsPlansPurchaseRecommendationGenerationError
39 >
40 >
41> {}
42
43export const ListSavingsPlansPurchaseRecommendationGeneration =
44 Binding.Service<ListSavingsPlansPurchaseRecommendationGeneration>(
45 "AWS.CostExplorer.ListSavingsPlansPurchaseRecommendationGeneration",
46 );