1import type * as devopsguru from "@distilled.cloud/aws/devops-guru";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `devops-guru:GetCostEstimation`.
7 *
8 * Returns the result of the most recent cost estimation started with `StartCostEstimation` — the estimated monthly cost of DevOps Guru analyzing the candidate resource collection.
9 * Provide the implementation with
10 * `Effect.provide(AWS.DevOpsGuru.GetCostEstimationHttp)`.
11 * ### Cost Estimation
12 * **Example:** Read the Latest Estimate
13 * ```typescript
14 * // init — account-level binding, no resource argument
15 * const getCostEstimation = yield* AWS.DevOpsGuru.GetCostEstimation();
16 *
17 * // runtime
18 * const estimate = yield* getCostEstimation();
19 * yield* Effect.log(`estimated: ${estimate.TotalCost} (${estimate.Status})`);
20 * ```
21 *
22 * @binding
23 */
24export interface GetCostEstimation extends Binding.Service<
25 GetCostEstimation,
26 "AWS.DevOpsGuru.GetCostEstimation",
27 () => Effect.Effect<
28 (
29 request?: devopsguru.GetCostEstimationRequest,
30 ) => Effect.Effect<
31 devopsguru.GetCostEstimationResponse,
32 devopsguru.GetCostEstimationError
33 >
34 >
35> {}
36export const GetCostEstimation = Binding.Service<GetCostEstimation>(
37 "AWS.DevOpsGuru.GetCostEstimation",
38);