serverless-nested-stack
serverless-nested-stack copied to clipboard
Cannot read property '0' of undefined on sls deploy
... Serverless: Invoke aws:common:validate Serverless: Invoke aws:common:cleanupTempDir Serverless: Packaging service... Serverless: Excluding development dependencies... Serverless: Invoke aws:package:finalize Serverless: Invoke aws:common:moveArtifactsToPackage Serverless: Invoke aws:common:validate Serverless: Invoke aws:deploy:deploy Serverless: Invoke nestedPlugin:data Serverless: Split stack started......
Type Error ---------------------------------------------
Cannot read property '0' of undefined
For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.
Stack Trace --------------------------------------------
TypeError: Cannot read property '0' of undefined
at ServerlessNestedPlugin.addPermissionParameters (/Users/kevinboutin/IdeaProjects/diyz-core-serverless/node_modules/serverless-nested-stack/index.js:229:84)
at ServerlessNestedPlugin.splitStack (/Users/kevinboutin/IdeaProjects/diyz-core-serverless/node_modules/serverless-nested-stack/index.js:78:14)
From previous event:
at PluginManager.invoke (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:372:22)
at PluginManager.spawn (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:390:17)
at AwsDeploy.BbPromise.bind.then (/usr/local/lib/node_modules/serverless/lib/plugins/aws/deploy/index.js:101:48)
From previous event:
at Object.deploy:deploy [as hook] (/usr/local/lib/node_modules/serverless/lib/plugins/aws/deploy/index.js:97:10)
at BbPromise.reduce (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:372:55)
From previous event:
at PluginManager.invoke (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:372:22)
at PluginManager.run (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:403:17)
at variables.populateService.then (/usr/local/lib/node_modules/serverless/lib/Serverless.js:102:33)
at runCallback (timers.js:781:20)
at tryOnImmediate (timers.js:743:5)
at processImmediate [as _immediateCallback] (timers.js:714:5)
From previous event:
at Serverless.run (/usr/local/lib/node_modules/serverless/lib/Serverless.js:89:74)
at serverless.init.then (/usr/local/lib/node_modules/serverless/bin/serverless:42:50)
at
I added this line to /serverless-nested-stack/index.js:229
console.log('Kevin: ', resource.Properties);
It logged the following before exploding:
Kevin: { FunctionName: { 'Fn::GetAtt': [ 'ScheduledjobLambdaFunction', 'Arn' ] },
Action: 'lambda:InvokeFunction',
Principal: 'events.amazonaws.com',
SourceArn: { 'Fn::GetAtt': [ 'ScheduledjobEventsRuleSchedule1', 'Arn' ] } }
Kevin: { FunctionName: 'arn:aws:lambda:us-east-1:blahblahredacted:function:blah-serverless-dev-authorize',
Action: 'lambda:InvokeFunction',
Principal: 'apigateway.amazonaws.com' }
So looking at the code I realized that you will need to verify that 'Fn::GetAtt' exists first.
Over a year and no response? Does anyone know if there's a workaround?
2 years, no response? This is still a problem