Bunch of us have started receiving the following notification from AWS:
The Node community has decided to end support for Node.js 8.x on December 31, 2019 [1]. From this date forward, Node.js 8.x will stop receiving bug fixes, security updates, and/or performance improvements. To ensure that your new and existing functions run on a supported and secure runtime, language runtimes that have reached their EOL are deprecated in AWS [2].
For Node.js 8.x, there will be 2 stages to the runtime deprecation process:
Disable Function Create – Beginning January 6, 2020, customers will no longer be able to create functions using Node.js 8.10
Disable Function Update – Beginning February 3, 2020, customers will no longer be able to update functions using Node.js 8.10
Aren’t many (most? all?) of the Node.js Lambdas just tiny wrappers around a Go program that does the real work? Lambda has supported Go for ~2 years. Why not cut out the overhead and just switch everything to use Go directly?
Almost all of the Lambda functions have been converted to pure Go. The functions in question are inline pure-Javascript embedded in the CloudFormation templates. We rolled this back because CloudFormation had not yet finished rolling out support for inline nodejs10 in all regions.
We’re currently unable to launch new resources in AWS due to this error.
020-01-14 10:08:28 UTC+0100 NotifierHandler CREATE_FAILED The runtime parameter of nodejs8.10 is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs12.x) while creating or updating functions. (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: dd789c70-9912-44de-8010-a726b8102165)
This is when adding the AWS-Convox runtime integration.
@andreas.nilsson I ran into this yesterday. A workaround is to edit the cloudformation template and change the engine to nodejs12.x by hand, then copy the parameters (AccountId, ExternalId, IntegrationUrl) in from the original