1import * as docdbelastic from "@distilled.cloud/aws/docdb-elastic";
2import * as Layer from "effect/Layer";
3import { makeDocDBElasticAccountHttpBinding } from "./BindingHttp.ts";
4import { CopyClusterSnapshot } from "./CopyClusterSnapshot.ts";
5
6export const CopyClusterSnapshotHttp = Layer.effect(
7 CopyClusterSnapshot,
8 makeDocDBElasticAccountHttpBinding({
9 tag: "AWS.DocDBElastic.CopyClusterSnapshot",
10 operation: docdbelastic.copyClusterSnapshot,
11 actions: [
12 "docdb-elastic:CopyClusterSnapshot",
13 // Copying authorizes the creation of the target snapshot as a
14 // CreateClusterSnapshot on `cluster-snapshot/*` (verified live: without
15 // it the service returns AccessDeniedException naming this action).
16 "docdb-elastic:CreateClusterSnapshot",
17 "docdb-elastic:TagResource",
18 ],
19 }),
20);