Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS Lambda Function runtime default will be deprecated soon #8348

Closed
NotBobTheBuilder opened this issue Aug 20, 2016 · 4 comments · Fixed by #9724
Closed

AWS Lambda Function runtime default will be deprecated soon #8348

NotBobTheBuilder opened this issue Aug 20, 2016 · 4 comments · Fixed by #9724

Comments

@NotBobTheBuilder
Copy link

The current documentation for the aws_lambda_function provider notes that it uses the nodejs runtime by default. At the end of next month, October 2016, AWS will be deprecating this runtime.

It may be advisable to change this default to nodejs4.3, AWS' recommendation for node projects on the legacy runtime, before the deprecation takes place.

Docs on the deprecation

@radeksimko
Copy link
Member

Thanks for the notice @NotBobTheBuilder !

I actually think we should make the runtime a required field in this case, but I don't mind just updating the default value.

@apparentlymart
Copy link
Contributor

Making it required seems safer, since if Terraform quietly switched someone from Node 0.10 to Node 4.3 their app will likely be broken, e.g. if it contains npm modules that contain native code compiled against 0.10.

Of course, making it required is still a breaking change, but at least a safer breaking change: Terraform will catch it during Validate, and allow the user to explicitly set the value to nodejs before they continue if they wish to keep using it.

We could also use ValidateFunc to let Terraform present its own the deprecation warning for this value, to help folks who might not see this announcement due to doing all of their AWS interactions via Terraform. 😀

@mrooney
Copy link

mrooney commented Sep 1, 2016

I'm in favor of either solution, and if the old "nodejs" remains the default, at least clarifying in the docs that the default is deprecated and you probably want "nodejs4.3" :) It seems natural to read the docs, see "oh, Node is the default, that's what I want!" and not realize there are two node platforms and nodejs is the older one that won't work with blueprints and is deprecated.

I had a bit of trouble debugging this when I just set up some fresh lambda resources based on an AWS Blueprint. It wasn't working unclear reasons, until I figured out that the default is "nodejs" but AWS Blueprints are based on "nodejs4.3" and that is recommended.

@ghost
Copy link

ghost commented Apr 18, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@ghost ghost locked and limited conversation to collaborators Apr 18, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants