| 1 | import * as docdbelastic from "@distilled.cloud/aws/docdb-elastic"; |
| 2 | import * as Layer from "effect/Layer"; |
| 3 | import { makeDocDBElasticAccountHttpBinding } from "./BindingHttp.ts"; |
| 4 | import { CopyClusterSnapshot } from "./CopyClusterSnapshot.ts"; |
| 5 | |
| 6 | export 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 | ); |