generated from enter-at/terraform-module-template
-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Description
Hi, I often use your terraform module because it is very useful to make a layer!
Suggestion
I want to use the layers I created in a cross account, so I need to grant permissions on terraform as follows.
module "lambda_layer_requests" {
source = "git::https://github.com/enter-at/terraform-aws-lambda-layer.git?ref=main"
layer_name = "cmn-layer-python-requests"
source_type = "python"
package_file = "./modules/lambda_layer/requests/requirements.txt"
compatible_runtimes = ["python3.8", "python3.9", "python3.10", "python3.11", "python3.12"]
}
resource "aws_lambda_layer_version_permission" "allow_cross_account_access_requests" {
for_each = {
"dev-XXX" = "123456789012",
"stg-XXX" = "123456789012",
"prd-XXX" = "123456789012"
}
layer_name = module.lambda_layer_requests.layer_arn
version_number = tonumber(split(":", module.lambda_layer_requests.arn)[length(split(":", module.lambda_layer_requests.arn)) - 1])
statement_id = "AllowCrossAccountAccess-requests-${each.key}"
principal = each.value
action = "lambda:GetLayerVersion"
}
I would like to make a suggestion about the version_number
. This implementation can get the version_number, but I would like to avoid this implementation because it is like a hard-coded.
So, Can you implement on output.tf
like this?
output "version_number" {
value = tonumber(split(":", aws_lambda_layer_version.main.arn)[length(split(":", aws_lambda_layer_version.main.arn)) - 1])
description = "The Lamba layer version number."
}
I hope this module will be used by more developers!
Metadata
Metadata
Assignees
Labels
No labels