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