-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Labels
Description
Issue description
When using a combination of per-function IAM roles, and Lambda destinations, sls package or sls deploy throws an error:
✖ TypeError: Cannot read properties of undefined (reading 'Properties')
at AwsCompileFunctions.ensureTargetExecutionPermission (file:///Users/yancui/.serverless/releases/4.31.0/package/dist/sf-core.js:1476:70387)
at AwsCompileFunctions.memoized [as ensureTargetExecutionPermission] (file:///Users/yancui/.serverless/releases/4.31.0/package/dist/sf-core.js:72:27294)
at AwsCompileFunctions.compileFunctionEventInvokeConfig (file:///Users/yancui/.serverless/releases/4.31.0/package/dist/sf-core.js:1476:69251)
at AwsCompileFunctions.compileFunction (file:///Users/yancui/.serverless/releases/4.31.0/package/dist/sf-core.js:1476:65654)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Promise.all (index 0)
at async PluginManager.runHooks (file:///Users/yancui/.serverless/releases/4.31.0/package/dist/sf-core.js:1801:11236)
at async PluginManager.invoke (file:///Users/yancui/.serverless/releases/4.31.0/package/dist/sf-core.js:1801:12005)
at async PluginManager.run (file:///Users/yancui/.serverless/releases/4.31.0/package/dist/sf-core.js:1801:12738)
at async Serverless.run (file:///Users/yancui/.serverless/releases/4.31.0/package/dist/sf-core.js:1808:10524)
Switching off per-function IAM mode stops the error.
Here's a minimal serverless.yml you can use to reproduce the error:
service: prsls-sls-yancui
provider:
name: aws
runtime: nodejs20.x
iam:
role:
mode: perFunction
functions:
notify-restaurant:
handler: functions/notify-restaurant.handler
destinations:
onFailure:
type: sqs
arn: !GetAtt OnFailureQueue.Arn
resources:
Resources:
OnFailureQueue:
Type: AWS::SQS::Queue
Context
serverless v4.31.0
Reactions are currently unavailable