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