| 1 | import * as ecrpublic from "@distilled.cloud/aws/ecr-public"; |
| 2 | import * as Layer from "effect/Layer"; |
| 3 | import { makePublicRegistryHttpBinding } from "./BindingHttp.ts"; |
| 4 | import { GetAuthorizationToken } from "./GetAuthorizationToken.ts"; |
| 5 | |
| 6 | export const GetAuthorizationTokenHttp = Layer.effect( |
| 7 | GetAuthorizationToken, |
| 8 | makePublicRegistryHttpBinding({ |
| 9 | capability: "GetAuthorizationToken", |
| 10 | // The API requires both permissions; see the GetAuthorizationToken docs. |
| 11 | iamActions: [ |
| 12 | "ecr-public:GetAuthorizationToken", |
| 13 | "sts:GetServiceBearerToken", |
| 14 | ], |
| 15 | operation: ecrpublic.getAuthorizationToken, |
| 16 | }), |
| 17 | ); |