1import * as Layer from "effect/Layer";
2import { WriteSecret } from "./WriteSecret.ts";
3import { makeSecretAccessBinding, writeSecretGrants } from "./SecretHttp.ts";
4
5/**
6 * HTTP implementation of {@link WriteSecret} over the Secret Manager REST API.
7 *
8 * @layer
9 * @provides GCP.SecretManager.WriteSecret
10 * @category SecretManager
11 */
12export const WriteSecretHttp = Layer.effect(
13 WriteSecret,
14 makeSecretAccessBinding({
15 tag: "GCP.SecretManager.WriteSecret",
16 grants: writeSecretGrants,
17 makeClient: (helpers, name) => helpers.makeWrite(name),
18 }),
19);