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 ListCommitmentPurchaseAnalyses}.
7 */
8export interface ListCommitmentPurchaseAnalysesRequest
9 extends ce.ListCommitmentPurchaseAnalysesRequest {}
10
11/**
12 * Runtime binding for `ce:ListCommitmentPurchaseAnalyses`.
13 *
14 * List the commitment purchase analyses run in your account. Provide the implementation with
15 * `Effect.provide(AWS.CostExplorer.ListCommitmentPurchaseAnalysesHttp)`.
16 * ### Commitment Purchase Analysis
17 * **Example:** List Analyses
18 * ```typescript
19 * // init — account-level binding takes no resource
20 * const listCommitmentPurchaseAnalyses = yield* AWS.CostExplorer.ListCommitmentPurchaseAnalyses();
21 *
22 * // runtime
23 * const result = yield* listCommitmentPurchaseAnalyses();
24 * const analyses = result.AnalysisSummaryList;
25 * ```
26 *
27 * @binding
28 */
29export interface ListCommitmentPurchaseAnalyses extends Binding.Service<
30 ListCommitmentPurchaseAnalyses,
31 "AWS.CostExplorer.ListCommitmentPurchaseAnalyses",
32 () => Effect.Effect<
33 (
34 request?: ListCommitmentPurchaseAnalysesRequest,
35 ) => Effect.Effect<
36 ce.ListCommitmentPurchaseAnalysesResponse,
37 ce.ListCommitmentPurchaseAnalysesError
38 >
39 >
40> {}
41
42export const ListCommitmentPurchaseAnalyses =
43 Binding.Service<ListCommitmentPurchaseAnalyses>(
44 "AWS.CostExplorer.ListCommitmentPurchaseAnalyses",
45 );