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