1import * as workstations from "@distilled.cloud/gcp/workstations_v1";
2import * as Layer from "effect/Layer";
3import { makeClusterHttpBinding } from "./BindingHttp.ts";
4import { GetWorkstationCluster } from "./GetWorkstationCluster.ts";
5
6/**
7 * HTTP implementation of {@link GetWorkstationCluster}.
8 *
9 * @layer
10 * @provides GCP.Workstations.GetWorkstationCluster
11 */
12export const GetWorkstationClusterHttp = Layer.effect(
13 GetWorkstationCluster,
14 makeClusterHttpBinding({
15 tag: "GCP.Workstations.GetWorkstationCluster",
16 // Clusters have no IAM policy of their own: read-only on the project.
17 iam: { role: "roles/workstations.viewer" },
18 operation: workstations.getProjectsLocationsWorkstationClusters,
19 }),
20);