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