1import * as workstations from "@distilled.cloud/gcp/workstations_v1";
2import * as Layer from "effect/Layer";
3import { makeGenerateAccessTokenHttpBinding } from "./BindingHttp.ts";
4import { GenerateAccessToken } from "./GenerateAccessToken.ts";
5
6/**
7 * HTTP implementation of {@link GenerateAccessToken}.
8 *
9 * @layer
10 * @provides GCP.Workstations.GenerateAccessToken
11 */
12export const GenerateAccessTokenHttp = Layer.effect(
13 GenerateAccessToken,
14 makeGenerateAccessTokenHttpBinding({
15 tag: "GCP.Workstations.GenerateAccessToken",
16 iam: { role: "roles/workstations.user", on: "workstations.workstation" },
17 operation:
18 workstations.generateAccessTokenProjectsLocationsWorkstationClustersWorkstationConfigsWorkstations,
19 }),
20);