@@ -39,6 +39,12 @@ class ServerlessAwsLambda extends Daemon {
39
39
nodeVersion : number | boolean | string | undefined = false ;
40
40
invokeName ?: string ;
41
41
afterDeployCallbacks : ( ( ) => void | Promise < void > ) [ ] = [ ] ;
42
+ resources : {
43
+ ddb : { } ;
44
+ kinesis : { } ;
45
+ sns : { } ;
46
+ sqs : { } ;
47
+ } ;
42
48
constructor ( serverless : any , options : any ) {
43
49
super ( { debug : process . env . SLS_DEBUG == "*" } ) ;
44
50
@@ -117,6 +123,8 @@ class ServerlessAwsLambda extends Daemon {
117
123
"before:invoke:local:invoke" : this . invokeLocal . bind ( this ) ,
118
124
"after:aws:deploy:finalize:cleanup" : this . afterDeploy . bind ( this ) ,
119
125
} ;
126
+
127
+ this . resources = getResources ( this . serverless ) ;
120
128
}
121
129
122
130
async invokeLocal ( ) {
@@ -289,7 +297,7 @@ class ServerlessAwsLambda extends Daemon {
289
297
functionsNames = functionsNames . filter ( ( x ) => x == this . invokeName ) ;
290
298
}
291
299
const defaultRuntime = this . serverless . service . provider . runtime ;
292
- const resources = getResources ( this . serverless ) ;
300
+
293
301
// @ts -ignore
294
302
const Outputs = this . serverless . service . resources ?. Outputs ;
295
303
const lambdas = functionsNames . reduce ( ( accum : any [ ] , funcName : string ) => {
@@ -319,6 +327,7 @@ class ServerlessAwsLambda extends Daemon {
319
327
timeout : lambda . timeout ?? this . runtimeConfig . timeout ?? DEFAULT_LAMBDA_TIMEOUT ,
320
328
endpoints : [ ] ,
321
329
sns : [ ] ,
330
+ sqs : [ ] ,
322
331
ddb : [ ] ,
323
332
s3 : [ ] ,
324
333
kinesis : [ ] ,
@@ -350,7 +359,7 @@ class ServerlessAwsLambda extends Daemon {
350
359
} ;
351
360
352
361
// @ts -ignore
353
- lambdaDef . onError = parseDestination ( lambda . onError , Outputs , resources ) ;
362
+ lambdaDef . onError = parseDestination ( lambda . onError , Outputs , this . resources ) ;
354
363
355
364
if ( lambdaDef . onError ?. kind == "lambda" ) {
356
365
log . YELLOW ( "Dead-Letter queue could only be a SNS or SQS service" ) ;
@@ -359,9 +368,9 @@ class ServerlessAwsLambda extends Daemon {
359
368
//@ts -ignore
360
369
if ( lambda . destinations && typeof lambda . destinations == "object" ) {
361
370
//@ts -ignore
362
- lambdaDef . onFailure = parseDestination ( lambda . destinations . onFailure , Outputs , resources ) ;
371
+ lambdaDef . onFailure = parseDestination ( lambda . destinations . onFailure , Outputs , this . resources ) ;
363
372
//@ts -ignore
364
- lambdaDef . onSuccess = parseDestination ( lambda . destinations . onSuccess , Outputs , resources ) ;
373
+ lambdaDef . onSuccess = parseDestination ( lambda . destinations . onSuccess , Outputs , this . resources ) ;
365
374
}
366
375
367
376
lambdaDef . onInvoke = ( callback : ( event : any , info ?: any ) => void ) => {
@@ -379,9 +388,10 @@ class ServerlessAwsLambda extends Daemon {
379
388
lambdaDef . environment . AWS_LAMBDA_FUNCTION_MEMORY_SIZE = lambdaDef . memorySize ;
380
389
381
390
if ( lambda . events . length ) {
382
- const { endpoints, sns, ddb, s3, kinesis } = parseEvents ( lambda . events , Outputs , resources ) ;
391
+ const { endpoints, sns, sqs , ddb, s3, kinesis } = parseEvents ( lambda . events , Outputs , this . resources ) ;
383
392
lambdaDef . endpoints = endpoints ;
384
393
lambdaDef . sns = sns ;
394
+ lambdaDef . sqs = sqs ;
385
395
lambdaDef . ddb = ddb ;
386
396
lambdaDef . s3 = s3 ;
387
397
lambdaDef . kinesis = kinesis ;
@@ -479,6 +489,7 @@ class ServerlessAwsLambda extends Daemon {
479
489
stage : this . options . stage ?? this . serverless . service . provider . stage ?? "dev" ,
480
490
esbuild : esbuild ,
481
491
serverless : this . serverless ,
492
+ resources : this . resources ,
482
493
} ;
483
494
let exportedObject : any = { } ;
484
495
0 commit comments