1import type * as bda from "@distilled.cloud/aws/bedrock-data-automation";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `GetBlueprintOptimizationStatus` operation (IAM
7 * action `bedrock:GetBlueprintOptimizationStatus` on `*` — optimization
8 * invocation ARNs are minted at runtime) — poll the status of a blueprint
9 * optimization job started by `InvokeBlueprintOptimizationAsync`.
10 *
11 * Provide the implementation with
12 * `Effect.provide(AWS.BedrockDataAutomation.GetBlueprintOptimizationStatusHttp)`.
13 * ### Blueprint Optimization
14 * **Example:** Poll An Optimization Job
15 * ```typescript
16 * // deploy time — account-level binding
17 * const getStatus =
18 * yield* AWS.BedrockDataAutomation.GetBlueprintOptimizationStatus();
19 *
20 * // runtime — poll the invocation returned by InvokeBlueprintOptimizationAsync
21 * const { status, outputConfiguration } = yield* getStatus({ invocationArn });
22 * if (status === "Success") {
23 * yield* Effect.log(
24 * `optimized schema at ${outputConfiguration?.s3Object.s3Uri}`,
25 * );
26 * }
27 * ```
28 *
29 * @binding
30 */
31export interface GetBlueprintOptimizationStatus extends Binding.Service<
32 GetBlueprintOptimizationStatus,
33 "AWS.BedrockDataAutomation.GetBlueprintOptimizationStatus",
34 () => Effect.Effect<
35 (
36 request: bda.GetBlueprintOptimizationStatusRequest,
37 ) => Effect.Effect<
38 bda.GetBlueprintOptimizationStatusResponse,
39 bda.GetBlueprintOptimizationStatusError
40 >
41 >
42> {}
43export const GetBlueprintOptimizationStatus =
44 Binding.Service<GetBlueprintOptimizationStatus>(
45 "AWS.BedrockDataAutomation.GetBlueprintOptimizationStatus",
46 );