hashicorp / terraform-provider-aws

The AWS Provider enables Terraform to manage AWS resources.
https://registry.terraform.io/providers/hashicorp/aws
Mozilla Public License 2.0
9.86k stars 9.21k forks source link

Lambda function version and layer version management #17668

Open Apollorion opened 3 years ago

Apollorion commented 3 years ago

Community Note

Description

aws_lambda_function with the option publish=true after awhile creates a long list of old lambda function versions (that can even hold onto ENI's if configured with a VPC, costing $$). It would be nice to be able to either manage those versions separately with another resource or have some option within aws_lambda_function that will manage only a rolling number of versions of the function, deleting old ones when no longer needed.

additionally

aws_lambda_layer_version only maintains a single version of the layer. It will delete the old layer before uploading a new one. I would like to be able to manage this in the same way as the above aws_lambda_function with the ability to maintain a rolling list of the versions. (I could totally be using this resource wrong and this is already supported, but I dont see how to actually acheive this)

New or Affected Resource(s)

Potential Terraform Configuration

resource "aws_lambda_function" "function" {
  filename   = "function.zip"
  function_name = "myAwesomeFunction"
  publish = true
  versions_kept = 3
}
resource "aws_lambda_layer_version" "layer" {
  filename   = "layer.zip"
  layer_name = "myAwesomeLayer"
  versions_kept = 3
}
quentin9696 commented 1 year ago

Hi,

Is there any roadmap for this nice feature?

Actually, we don't have any way to do that with TF