Skip to content

Commit a1507a5

Browse files
authored
Upgrade lambda runtime to Nodejs22 (#1156)
1 parent 2de6a2e commit a1507a5

File tree

11 files changed

+107
-102
lines changed

11 files changed

+107
-102
lines changed

packages/cdk/consts.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import * as lambda from 'aws-cdk-lib/aws-lambda';
2+
3+
export const LAMBDA_RUNTIME_NODEJS = lambda.Runtime.NODEJS_22_X;

packages/cdk/lib/construct/agent.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { Duration, Lazy, Names, RemovalPolicy } from 'aws-cdk-lib';
2-
import { Runtime } from 'aws-cdk-lib/aws-lambda';
32
import { Construct } from 'constructs';
43
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
54
import {
@@ -17,6 +16,7 @@ import {
1716
import { BucketDeployment, Source } from 'aws-cdk-lib/aws-s3-deployment';
1817
import { CfnAgent, CfnAgentAlias } from 'aws-cdk-lib/aws-bedrock';
1918
import { Agent as AgentType } from 'generative-ai-use-cases';
19+
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
2020

2121
interface AgentProps {
2222
// Context Params
@@ -81,7 +81,7 @@ export class Agent extends Construct {
8181
this,
8282
'BedrockAgentLambda',
8383
{
84-
runtime: Runtime.NODEJS_LATEST,
84+
runtime: LAMBDA_RUNTIME_NODEJS,
8585
entry: './lambda/agent.ts',
8686
timeout: Duration.seconds(300),
8787
environment: {

packages/cdk/lib/construct/api.ts

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
ResponseType,
99
} from 'aws-cdk-lib/aws-apigateway';
1010
import { UserPool, UserPoolClient } from 'aws-cdk-lib/aws-cognito';
11-
import { IFunction, Runtime } from 'aws-cdk-lib/aws-lambda';
11+
import { IFunction } from 'aws-cdk-lib/aws-lambda';
1212
import { Construct } from 'constructs';
1313
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
1414
import { Table } from 'aws-cdk-lib/aws-dynamodb';
@@ -28,6 +28,7 @@ import {
2828
BEDROCK_TEXT_MODELS,
2929
} from '@generative-ai-use-cases/common';
3030
import { allowS3AccessWithSourceIpCondition } from '../utils/s3-access-policy';
31+
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
3132

3233
export interface BackendApiProps {
3334
// Context Params
@@ -153,7 +154,7 @@ export class Api extends Construct {
153154

154155
// Lambda
155156
const predictFunction = new NodejsFunction(this, 'Predict', {
156-
runtime: Runtime.NODEJS_LATEST,
157+
runtime: LAMBDA_RUNTIME_NODEJS,
157158
entry: './lambda/predict.ts',
158159
timeout: Duration.minutes(15),
159160
environment: {
@@ -175,7 +176,7 @@ export class Api extends Construct {
175176
});
176177

177178
const predictStreamFunction = new NodejsFunction(this, 'PredictStream', {
178-
runtime: Runtime.NODEJS_LATEST,
179+
runtime: LAMBDA_RUNTIME_NODEJS,
179180
entry: './lambda/predictStream.ts',
180181
timeout: Duration.minutes(15),
181182
memorySize: 256,
@@ -213,7 +214,7 @@ export class Api extends Construct {
213214

214215
// Add Flow Lambda Function
215216
const invokeFlowFunction = new NodejsFunction(this, 'InvokeFlow', {
216-
runtime: Runtime.NODEJS_LATEST,
217+
runtime: LAMBDA_RUNTIME_NODEJS,
217218
entry: './lambda/invokeFlow.ts',
218219
timeout: Duration.minutes(15),
219220
bundling: {
@@ -229,7 +230,7 @@ export class Api extends Construct {
229230
invokeFlowFunction.grantInvoke(idPool.authenticatedRole);
230231

231232
const predictTitleFunction = new NodejsFunction(this, 'PredictTitle', {
232-
runtime: Runtime.NODEJS_LATEST,
233+
runtime: LAMBDA_RUNTIME_NODEJS,
233234
entry: './lambda/predictTitle.ts',
234235
timeout: Duration.minutes(15),
235236
bundling: {
@@ -253,7 +254,7 @@ export class Api extends Construct {
253254
table.grantWriteData(predictTitleFunction);
254255

255256
const generateImageFunction = new NodejsFunction(this, 'GenerateImage', {
256-
runtime: Runtime.NODEJS_LATEST,
257+
runtime: LAMBDA_RUNTIME_NODEJS,
257258
entry: './lambda/generateImage.ts',
258259
timeout: Duration.minutes(15),
259260
environment: {
@@ -269,7 +270,7 @@ export class Api extends Construct {
269270
});
270271

271272
const generateVideoFunction = new NodejsFunction(this, 'GenerateVideo', {
272-
runtime: Runtime.NODEJS_LATEST,
273+
runtime: LAMBDA_RUNTIME_NODEJS,
273274
entry: './lambda/generateVideo.ts',
274275
timeout: Duration.minutes(15),
275276
environment: {
@@ -303,7 +304,7 @@ export class Api extends Construct {
303304
table.grantWriteData(generateVideoFunction);
304305

305306
const copyVideoJob = new NodejsFunction(this, 'CopyVideoJob', {
306-
runtime: Runtime.NODEJS_LATEST,
307+
runtime: LAMBDA_RUNTIME_NODEJS,
307308
entry: './lambda/copyVideoJob.ts',
308309
timeout: Duration.minutes(15),
309310
memorySize: 512,
@@ -338,7 +339,7 @@ export class Api extends Construct {
338339
table.grantWriteData(copyVideoJob);
339340

340341
const listVideoJobs = new NodejsFunction(this, 'ListVideoJobs', {
341-
runtime: Runtime.NODEJS_LATEST,
342+
runtime: LAMBDA_RUNTIME_NODEJS,
342343
entry: './lambda/listVideoJobs.ts',
343344
timeout: Duration.minutes(15),
344345
environment: {
@@ -360,7 +361,7 @@ export class Api extends Construct {
360361
copyVideoJob.grantInvoke(listVideoJobs);
361362

362363
const deleteVideoJob = new NodejsFunction(this, 'DeleteVideoJob', {
363-
runtime: Runtime.NODEJS_LATEST,
364+
runtime: LAMBDA_RUNTIME_NODEJS,
364365
entry: './lambda/deleteVideoJob.ts',
365366
timeout: Duration.minutes(15),
366367
environment: {
@@ -376,7 +377,7 @@ export class Api extends Construct {
376377
this,
377378
'OptimizePromptFunction',
378379
{
379-
runtime: Runtime.NODEJS_LATEST,
380+
runtime: LAMBDA_RUNTIME_NODEJS,
380381
entry: './lambda/optimizePrompt.ts',
381382
timeout: Duration.minutes(15),
382383
bundling: {
@@ -390,7 +391,7 @@ export class Api extends Construct {
390391
optimizePromptFunction.grantInvoke(idPool.authenticatedRole);
391392

392393
const getSignedUrlFunction = new NodejsFunction(this, 'GetSignedUrl', {
393-
runtime: Runtime.NODEJS_LATEST,
394+
runtime: LAMBDA_RUNTIME_NODEJS,
394395
entry: './lambda/getFileUploadSignedUrl.ts',
395396
timeout: Duration.minutes(15),
396397
environment: {
@@ -414,7 +415,7 @@ export class Api extends Construct {
414415
this,
415416
'GetFileDownloadSignedUrlFunction',
416417
{
417-
runtime: Runtime.NODEJS_LATEST,
418+
runtime: LAMBDA_RUNTIME_NODEJS,
418419
entry: './lambda/getFileDownloadSignedUrl.ts',
419420
timeout: Duration.minutes(15),
420421
environment: {
@@ -507,7 +508,7 @@ export class Api extends Construct {
507508
}
508509

509510
const createChatFunction = new NodejsFunction(this, 'CreateChat', {
510-
runtime: Runtime.NODEJS_LATEST,
511+
runtime: LAMBDA_RUNTIME_NODEJS,
511512
entry: './lambda/createChat.ts',
512513
timeout: Duration.minutes(15),
513514
environment: {
@@ -517,7 +518,7 @@ export class Api extends Construct {
517518
table.grantWriteData(createChatFunction);
518519

519520
const deleteChatFunction = new NodejsFunction(this, 'DeleteChat', {
520-
runtime: Runtime.NODEJS_LATEST,
521+
runtime: LAMBDA_RUNTIME_NODEJS,
521522
entry: './lambda/deleteChat.ts',
522523
timeout: Duration.minutes(15),
523524
environment: {
@@ -527,7 +528,7 @@ export class Api extends Construct {
527528
table.grantReadWriteData(deleteChatFunction);
528529

529530
const createMessagesFunction = new NodejsFunction(this, 'CreateMessages', {
530-
runtime: Runtime.NODEJS_LATEST,
531+
runtime: LAMBDA_RUNTIME_NODEJS,
531532
entry: './lambda/createMessages.ts',
532533
timeout: Duration.minutes(15),
533534
environment: {
@@ -543,7 +544,7 @@ export class Api extends Construct {
543544
this,
544545
'UpdateChatTitle',
545546
{
546-
runtime: Runtime.NODEJS_LATEST,
547+
runtime: LAMBDA_RUNTIME_NODEJS,
547548
entry: './lambda/updateTitle.ts',
548549
timeout: Duration.minutes(15),
549550
environment: {
@@ -554,7 +555,7 @@ export class Api extends Construct {
554555
table.grantReadWriteData(updateChatTitleFunction);
555556

556557
const listChatsFunction = new NodejsFunction(this, 'ListChats', {
557-
runtime: Runtime.NODEJS_LATEST,
558+
runtime: LAMBDA_RUNTIME_NODEJS,
558559
entry: './lambda/listChats.ts',
559560
timeout: Duration.minutes(15),
560561
environment: {
@@ -564,7 +565,7 @@ export class Api extends Construct {
564565
table.grantReadData(listChatsFunction);
565566

566567
const findChatbyIdFunction = new NodejsFunction(this, 'FindChatbyId', {
567-
runtime: Runtime.NODEJS_LATEST,
568+
runtime: LAMBDA_RUNTIME_NODEJS,
568569
entry: './lambda/findChatById.ts',
569570
timeout: Duration.minutes(15),
570571
environment: {
@@ -574,7 +575,7 @@ export class Api extends Construct {
574575
table.grantReadData(findChatbyIdFunction);
575576

576577
const listMessagesFunction = new NodejsFunction(this, 'ListMessages', {
577-
runtime: Runtime.NODEJS_LATEST,
578+
runtime: LAMBDA_RUNTIME_NODEJS,
578579
entry: './lambda/listMessages.ts',
579580
timeout: Duration.minutes(15),
580581
environment: {
@@ -584,7 +585,7 @@ export class Api extends Construct {
584585
table.grantReadData(listMessagesFunction);
585586

586587
const updateFeedbackFunction = new NodejsFunction(this, 'UpdateFeedback', {
587-
runtime: Runtime.NODEJS_LATEST,
588+
runtime: LAMBDA_RUNTIME_NODEJS,
588589
entry: './lambda/updateFeedback.ts',
589590
timeout: Duration.minutes(15),
590591
environment: {
@@ -594,13 +595,13 @@ export class Api extends Construct {
594595
table.grantReadWriteData(updateFeedbackFunction);
595596

596597
const getWebTextFunction = new NodejsFunction(this, 'GetWebText', {
597-
runtime: Runtime.NODEJS_LATEST,
598+
runtime: LAMBDA_RUNTIME_NODEJS,
598599
entry: './lambda/getWebText.ts',
599600
timeout: Duration.minutes(15),
600601
});
601602

602603
const createShareId = new NodejsFunction(this, 'CreateShareId', {
603-
runtime: Runtime.NODEJS_LATEST,
604+
runtime: LAMBDA_RUNTIME_NODEJS,
604605
entry: './lambda/createShareId.ts',
605606
timeout: Duration.minutes(15),
606607
environment: {
@@ -610,7 +611,7 @@ export class Api extends Construct {
610611
table.grantReadWriteData(createShareId);
611612

612613
const getSharedChat = new NodejsFunction(this, 'GetSharedChat', {
613-
runtime: Runtime.NODEJS_LATEST,
614+
runtime: LAMBDA_RUNTIME_NODEJS,
614615
entry: './lambda/getSharedChat.ts',
615616
timeout: Duration.minutes(15),
616617
environment: {
@@ -620,7 +621,7 @@ export class Api extends Construct {
620621
table.grantReadData(getSharedChat);
621622

622623
const findShareId = new NodejsFunction(this, 'FindShareId', {
623-
runtime: Runtime.NODEJS_LATEST,
624+
runtime: LAMBDA_RUNTIME_NODEJS,
624625
entry: './lambda/findShareId.ts',
625626
timeout: Duration.minutes(15),
626627
environment: {
@@ -630,7 +631,7 @@ export class Api extends Construct {
630631
table.grantReadData(findShareId);
631632

632633
const deleteShareId = new NodejsFunction(this, 'DeleteShareId', {
633-
runtime: Runtime.NODEJS_LATEST,
634+
runtime: LAMBDA_RUNTIME_NODEJS,
634635
entry: './lambda/deleteShareId.ts',
635636
timeout: Duration.minutes(15),
636637
environment: {
@@ -643,7 +644,7 @@ export class Api extends Construct {
643644
this,
644645
'ListSystemContexts',
645646
{
646-
runtime: Runtime.NODEJS_LATEST,
647+
runtime: LAMBDA_RUNTIME_NODEJS,
647648
entry: './lambda/listSystemContexts.ts',
648649
timeout: Duration.minutes(15),
649650
environment: {
@@ -657,7 +658,7 @@ export class Api extends Construct {
657658
this,
658659
'CreateSystemContexts',
659660
{
660-
runtime: Runtime.NODEJS_LATEST,
661+
runtime: LAMBDA_RUNTIME_NODEJS,
661662
entry: './lambda/createSystemContext.ts',
662663
timeout: Duration.minutes(15),
663664
environment: {
@@ -671,7 +672,7 @@ export class Api extends Construct {
671672
this,
672673
'UpdateSystemContextTitle',
673674
{
674-
runtime: Runtime.NODEJS_LATEST,
675+
runtime: LAMBDA_RUNTIME_NODEJS,
675676
entry: './lambda/updateSystemContextTitle.ts',
676677
timeout: Duration.minutes(15),
677678
environment: {
@@ -685,7 +686,7 @@ export class Api extends Construct {
685686
this,
686687
'DeleteSystemContexts',
687688
{
688-
runtime: Runtime.NODEJS_LATEST,
689+
runtime: LAMBDA_RUNTIME_NODEJS,
689690
entry: './lambda/deleteSystemContext.ts',
690691
timeout: Duration.minutes(15),
691692
environment: {
@@ -696,7 +697,7 @@ export class Api extends Construct {
696697
table.grantReadWriteData(deleteSystemContextFunction);
697698

698699
const deleteFileFunction = new NodejsFunction(this, 'DeleteFileFunction', {
699-
runtime: Runtime.NODEJS_LATEST,
700+
runtime: LAMBDA_RUNTIME_NODEJS,
700701
entry: './lambda/deleteFile.ts',
701702
timeout: Duration.minutes(15),
702703
environment: {
@@ -707,7 +708,7 @@ export class Api extends Construct {
707708

708709
// Lambda function for getting token usage
709710
const getTokenUsageFunction = new NodejsFunction(this, 'GetTokenUsage', {
710-
runtime: Runtime.NODEJS_LATEST,
711+
runtime: LAMBDA_RUNTIME_NODEJS,
711712
entry: './lambda/getTokenUsage.ts',
712713
environment: {
713714
TABLE_NAME: table.tableName,

packages/cdk/lib/construct/auth.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import {
1010
} from 'aws-cdk-lib/aws-cognito-identitypool';
1111
import { Effect, Policy, PolicyStatement } from 'aws-cdk-lib/aws-iam';
1212
import { Construct } from 'constructs';
13-
import { Runtime } from 'aws-cdk-lib/aws-lambda';
1413
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
14+
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
1515

1616
export interface AuthProps {
1717
readonly selfSignUpEnabled: boolean;
@@ -107,7 +107,7 @@ export class Auth extends Construct {
107107
this,
108108
'CheckEmailDomain',
109109
{
110-
runtime: Runtime.NODEJS_LATEST,
110+
runtime: LAMBDA_RUNTIME_NODEJS,
111111
entry: './lambda/checkEmailDomain.ts',
112112
timeout: Duration.minutes(15),
113113
environment: {

packages/cdk/lib/construct/rag-knowledge-base.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
RestApi,
1010
} from 'aws-cdk-lib/aws-apigateway';
1111
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
12-
import { Runtime } from 'aws-cdk-lib/aws-lambda';
12+
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
1313

1414
export interface RagKnowledgeBaseProps {
1515
// Context Params
@@ -29,7 +29,7 @@ export class RagKnowledgeBase extends Construct {
2929
const { modelRegion } = props;
3030

3131
const retrieveFunction = new NodejsFunction(this, 'Retrieve', {
32-
runtime: Runtime.NODEJS_LATEST,
32+
runtime: LAMBDA_RUNTIME_NODEJS,
3333
entry: './lambda/retrieveKnowledgeBase.ts',
3434
timeout: cdk.Duration.minutes(15),
3535
environment: {

packages/cdk/lib/construct/rag.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
RestApi,
1818
} from 'aws-cdk-lib/aws-apigateway';
1919
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs';
20-
import { Runtime } from 'aws-cdk-lib/aws-lambda';
20+
import { LAMBDA_RUNTIME_NODEJS } from '../../consts';
2121

2222
const KENDRA_STATE_CFN_PARAMETER_NAME = 'kendraState';
2323

@@ -504,7 +504,7 @@ export class Rag extends Construct {
504504
// Add RAG related APIs
505505
// Lambda
506506
const queryFunction = new NodejsFunction(this, 'Query', {
507-
runtime: Runtime.NODEJS_LATEST,
507+
runtime: LAMBDA_RUNTIME_NODEJS,
508508
entry: './lambda/queryKendra.ts',
509509
timeout: Duration.minutes(15),
510510
bundling: {
@@ -525,7 +525,7 @@ export class Rag extends Construct {
525525
);
526526

527527
const retrieveFunction = new NodejsFunction(this, 'Retrieve', {
528-
runtime: Runtime.NODEJS_LATEST,
528+
runtime: LAMBDA_RUNTIME_NODEJS,
529529
entry: './lambda/retrieveKendra.ts',
530530
timeout: Duration.minutes(15),
531531
bundling: {

0 commit comments

Comments
 (0)