| 1 | import * as efs from "@distilled.cloud/aws/efs"; |
| 2 | import * as Layer from "effect/Layer"; |
| 3 | import { makeEfsFileSystemHttpBinding } from "./BindingHttp.ts"; |
| 4 | import { CreateAccessPoint } from "./CreateAccessPoint.ts"; |
| 5 | |
| 6 | export const CreateAccessPointHttp = Layer.effect( |
| 7 | CreateAccessPoint, |
| 8 | makeEfsFileSystemHttpBinding({ |
| 9 | tag: "AWS.EFS.CreateAccessPoint", |
| 10 | operation: efs.createAccessPoint, |
| 11 | actions: ["elasticfilesystem:CreateAccessPoint"], |
| 12 | // Tag-on-create authorizes elasticfilesystem:TagResource against the |
| 13 | // ARN of the access point being created, which is unknowable at deploy |
| 14 | // time — grant it on `*`. |
| 15 | wildcardActions: ["elasticfilesystem:TagResource"], |
| 16 | }), |
| 17 | ); |