@aws-lambda-powertools/parser
Version:
The parser package for the Powertools for AWS Lambda (TypeScript) library.
132 lines • 6.61 kB
TypeScript
/**
* Zod schema for Lambda Function URL follows the API Gateway HTTP APIs Payload Format Version 2.0.
*
* Keys related to API Gateway features not available in Function URL use a sentinel value (e.g.`routeKey`, `stage`).
*
* @example
* ```json
* {
* "version": "2.0",
* "routeKey": "$default",
* "rawPath": "/",
* "rawQueryString": "",
* "headers": {
* "sec-fetch-mode": "navigate",
* "x-amzn-tls-version": "TLSv1.2",
* "sec-fetch-site": "cross-site",
* "accept-language": "pt-BR,pt;q=0.9",
* "x-forwarded-proto": "https",
* "x-forwarded-port": "443",
* "x-forwarded-for": "123.123.123.123",
* "sec-fetch-user": "?1",
* "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng;q=0.8,application/signed-exchange;v=b3;q=0.9",
* "x-amzn-tls-cipher-suite": "ECDHE-RSA-AES128-GCM-SHA256",
* "sec-ch-ua": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Google Chrome\";v=\"102\"",
* "sec-ch-ua-mobile": "?0",
* "x-amzn-trace-id": "Root=1-62ecd163-5f302e550dcde3b12402207d",
* "sec-ch-ua-platform": "\"Linux\"",
* "host": "<url-id>.lambda-url.us-east-1.on.aws",
* "upgrade-insecure-requests": "1",
* "cache-control": "max-age=0",
* "accept-encoding": "gzip, deflate, br",
* "sec-fetch-dest": "document",
* "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"
* },
* "requestContext": {
* "accountId": "anonymous",
* "apiId": "<url-id>",
* "domainName": "<url-id>.lambda-url.us-east-1.on.aws",
* "domainPrefix": "<url-id>",
* "http": {
* "method": "GET",
* "path": "/",
* "protocol": "HTTP/1.1",
* "sourceIp": "123.123.123.123",
* "userAgent": "agent"
* },
* "requestId": "id",
* "routeKey": "$default",
* "stage": "$default",
* "time": "05/Aug/2022:08:14:39 +0000",
* "timeEpoch": 1659687279885
* },
* "isBase64Encoded": false
* }
* ```
*
* @see {@link LambdaFunctionUrlEvent | `LambdaFunctionUrlEvent`}
* @see {@link https://docs.aws.amazon.com/lambda/latest/dg/urls-invocation.html#urls-payloads}
*/
declare const LambdaFunctionUrlSchema: import("zod").ZodObject<{
version: import("zod").ZodString;
routeKey: import("zod").ZodString;
rawPath: import("zod").ZodString;
rawQueryString: import("zod").ZodString;
cookies: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
headers: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
queryStringParameters: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
requestContext: import("zod").ZodObject<{
accountId: import("zod").ZodString;
apiId: import("zod").ZodString;
authorizer: import("zod").ZodOptional<import("zod").ZodObject<{
jwt: import("zod").ZodOptional<import("zod").ZodObject<{
claims: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>;
scopes: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>;
}, import("zod/v4/core/schemas.cjs").$strip>>;
iam: import("zod").ZodOptional<import("zod").ZodObject<{
accessKey: import("zod").ZodOptional<import("zod").ZodString>;
accountId: import("zod").ZodOptional<import("zod").ZodString>;
callerId: import("zod").ZodOptional<import("zod").ZodString>;
principalOrgId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
userArn: import("zod").ZodOptional<import("zod").ZodString>;
userId: import("zod").ZodOptional<import("zod").ZodString>;
cognitoIdentity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
amr: import("zod").ZodArray<import("zod").ZodString>;
identityId: import("zod").ZodString;
identityPoolId: import("zod").ZodString;
}, import("zod/v4/core/schemas.cjs").$strip>>>;
}, import("zod/v4/core/schemas.cjs").$strip>>;
lambda: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>>>;
}, import("zod/v4/core/schemas.cjs").$strip>>;
authentication: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
clientCert: import("zod").ZodOptional<import("zod").ZodObject<{
clientCertPem: import("zod").ZodString;
subjectDN: import("zod").ZodString;
issuerDN: import("zod").ZodString;
serialNumber: import("zod").ZodString;
validity: import("zod").ZodObject<{
notBefore: import("zod").ZodString;
notAfter: import("zod").ZodString;
}, import("zod/v4/core/schemas.cjs").$strip>;
}, import("zod/v4/core/schemas.cjs").$strip>>;
}, import("zod/v4/core/schemas.cjs").$strip>>>;
domainName: import("zod").ZodString;
domainPrefix: import("zod").ZodString;
http: import("zod").ZodObject<{
method: import("zod").ZodEnum<{
GET: "GET";
POST: "POST";
PUT: "PUT";
PATCH: "PATCH";
DELETE: "DELETE";
HEAD: "HEAD";
OPTIONS: "OPTIONS";
}>;
path: import("zod").ZodString;
protocol: import("zod").ZodString;
sourceIp: import("zod").ZodIPv4;
userAgent: import("zod").ZodString;
}, import("zod/v4/core/schemas.cjs").$strip>;
requestId: import("zod").ZodString;
routeKey: import("zod").ZodString;
stage: import("zod").ZodString;
time: import("zod").ZodString;
timeEpoch: import("zod").ZodNumber;
}, import("zod/v4/core/schemas.cjs").$strip>;
body: import("zod").ZodOptional<import("zod").ZodString>;
pathParameters: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
isBase64Encoded: import("zod").ZodBoolean;
stageVariables: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
}, import("zod/v4/core/schemas.cjs").$strip>;
export { LambdaFunctionUrlSchema };
//# sourceMappingURL=lambda.d.ts.map