I am trying at create a lambda layer and assigning it to a lambda function, both the layer and function are defined in same serverless.yml file as follows:
layers: wkhtmltopdfbinary: path: wkhtmltopdf-binary description: "wkhtnltopdf binary" compatibleRuntimes: # optional, a list of runtimes this layer is compatible with - python3.6 - python3.7 - python3.8 retain: true functions: GenerateInspectionReport: handler: handler.GenerateInspectionReport name: GenerateInspectionReports runtime: python3.6 memorySize: 128 # optional, in MB, default is 1024 timeout: 600 # layers: ${self:custom.layer.${self:custom.stage}} layers: - { Ref: WkhtmltopdfbinaryLambdaLayer }
I am getting an error, please help:
Error: The CloudFormation template is invalid: Template format error: Unresolved resource dependencies [WkhtmltopdfbinaryLambdaLayer] in the Resources block of the template
at provider.request.catch.error (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\lib\plugins\aws\deploy\lib\validateTemplate.js:20:13)
at tryCatcher (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\promise.js:725:18)
at _drainQueueStep (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\async.js:93:12)
at _drainQueue (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\async.js:86:9)
at Async._drainQueues (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (D:\Users\gautam\AppData\Roaming\npm\node_modules\serverless\node_modules\bluebird\js\release\async.js:15:14)
at runCallback (timers.js:705:18)
at tryOnImmediate (timers.js:676:5)
at processImmediate (timers.js:658:5)
at process.topLevelDomainCallback (domain.js:126:23)
For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.