1import * as Layer from "effect/Layer";
2import { makeStorageBucketBinding } from "./BucketHttp.ts";
3import { ReadBucket } from "./ReadBucket.ts";
4
5/**
6 * HTTP implementation of {@link ReadBucket} over the Cloud Storage JSON API.
7 *
8 * @layer
9 * @provides GCP.Storage.ReadBucket
10 * @category Storage
11 */
12export const ReadBucketHttp = Layer.effect(
13 ReadBucket,
14 makeStorageBucketBinding({
15 tag: "GCP.Storage.ReadBucket",
16 role: "roles/storage.objectViewer",
17 makeClient: (helpers, name) => helpers.makeRead(name),
18 }),
19);