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:StartCostEstimation`.
7 *
8 * Starts estimating the monthly cost of DevOps Guru analyzing a candidate resource collection. Poll the result with `GetCostEstimation`.
9 * Provide the implementation with
10 * `Effect.provide(AWS.DevOpsGuru.StartCostEstimationHttp)`.
11 * ### Cost Estimation
12 * **Example:** Estimate the Cost of Coverage
13 * ```typescript
14 * // init — account-level binding, no resource argument
15 * const startCostEstimation = yield* AWS.DevOpsGuru.StartCostEstimation();
16 *
17 * // runtime
18 * yield* startCostEstimation({
19 * ResourceCollection: { CloudFormation: { StackNames: ["my-app-prod"] } },
20 * });
21 * ```
22 *
23 * @binding
24 */
25export interface StartCostEstimation extends Binding.Service<
26 StartCostEstimation,
27 "AWS.DevOpsGuru.StartCostEstimation",
28 () => Effect.Effect<
29 (
30 request: devopsguru.StartCostEstimationRequest,
31 ) => Effect.Effect<
32 devopsguru.StartCostEstimationResponse,
33 devopsguru.StartCostEstimationError
34 >
35 >
36> {}
37export const StartCostEstimation = Binding.Service<StartCostEstimation>(
38 "AWS.DevOpsGuru.StartCostEstimation",
39);