1import * as pubsub from "@distilled.cloud/gcp/pubsub_v1";
2import * as Layer from "effect/Layer";
3import { Acknowledge } from "./Acknowledge.ts";
4import { makeSubscriptionHttpBinding } from "./BindingHttp.ts";
5
6/**
7 * HTTP implementation of {@link Acknowledge}.
8 *
9 * @layer
10 * @provides GCP.PubSub.Acknowledge
11 */
12export const AcknowledgeHttp = Layer.effect(
13 Acknowledge,
14 makeSubscriptionHttpBinding({
15 tag: "GCP.PubSub.Acknowledge",
16 iam: { role: "roles/pubsub.subscriber", on: "pubsub.subscription" },
17 operation: pubsub.acknowledgeProjectsSubscriptions,
18 }),
19);