1import * as file from "@distilled.cloud/gcp/file_v1";
2import * as Layer from "effect/Layer";
3import { makeFilestoreSnapshotHttpBinding } from "./BindingHttp.ts";
4import { GetInstancesSnapshot } from "./GetInstancesSnapshot.ts";
5
6/**
7 * HTTP implementation of {@link GetInstancesSnapshot}.
8 *
9 * @layer
10 * @provides GCP.Filestore.GetInstancesSnapshot
11 */
12export const GetInstancesSnapshotHttp = Layer.effect(
13 GetInstancesSnapshot,
14 makeFilestoreSnapshotHttpBinding({
15 tag: "GCP.Filestore.GetInstancesSnapshot",
16 iam: { role: "roles/file.viewer" },
17 operation: file.getProjectsLocationsInstancesSnapshots,
18 }),
19);