1import * as aiplatform from "@distilled.cloud/gcp/aiplatform_v1";
2import * as Layer from "effect/Layer";
3import { makeNamedHttpBinding } from "./BindingHttp.ts";
4import { GetReasoningEngine } from "./GetReasoningEngine.ts";
5import type { ReasoningEngine } from "./ReasoningEngine.ts";
6
7/**
8 * HTTP implementation of {@link GetReasoningEngine}.
9 *
10 * @layer
11 * @provides GCP.AIPlatform.GetReasoningEngine
12 */
13export const GetReasoningEngineHttp = Layer.effect(
14 GetReasoningEngine,
15 makeNamedHttpBinding<
16 ReasoningEngine,
17 aiplatform.GetReasoningEnginesRequest,
18 aiplatform.GoogleCloudAiplatformV1ReasoningEngine,
19 aiplatform.GetReasoningEnginesError
20 >({
21 tag: "GCP.AIPlatform.GetReasoningEngine",
22 operation: aiplatform.getReasoningEngines,
23 iam: { role: "roles/aiplatform.viewer" },
24 }),
25);