Open soniCaH opened 4 years ago
HI @soniCaH,
I'm struggling to reproduce the issue. Did this happen the first time you ran terraform apply
or have you run the command multiple times due to encountering problems?
If you delete the apply_security_headers
lambda function and re-run apply does it still error?
I did run it a few times to fix some other errors. Between each attempt, I deleted all policies/group/permission/s3 bucket/dns record/... (if I forgot something, it fails sooner).
I just tried again, same error unfortunately.
Error: Error adding new Lambda Permission for arn:aws:lambda:us-east-1:740550993546:function:apply_security_headers: ResourceConflictException: The statement id (AllowExecutionFromCloudFront) provided already exists. Please provide a new statement id, or remove the existing statement.
status code: 409, request id: c4764840-7c0e-4741-9f92-7ace93adda4b
on short_urls.tf line 274, in resource "aws_lambda_permission" "short_url_lambda_permssion_apply_security_headers_edgelambda":
274: resource "aws_lambda_permission" "short_url_lambda_permssion_apply_security_headers_edgelambda" {
Error: Error adding new Lambda Permission for arn:aws:lambda:us-east-1:740550993546:function:apply_security_headers: ResourceConflictException: The statement id (AllowExecutionFromCloudFront2) provided already exists. Please provide a new statement id, or remove the existing statement.
status code: 409, request id: 0c7fe3d0-338d-415f-b63b-c057a6e3e92c
on short_urls.tf line 282, in resource "aws_lambda_permission" "short_url_lambda_permssion_apply_security_headers_lambda":
282: resource "aws_lambda_permission" "short_url_lambda_permssion_apply_security_headers_lambda" {
Error: error creating CloudFront Distribution: InvalidLambdaFunctionAssociation: The function has a runtime that is not supported by Lambda@Edge: nodejs12.x Function: arn:aws:lambda:us-east-1:740550993546:function:apply_security_headers:1 Supported runtimes: [nodejs8.10, nodejs10.x, nodejs6.10, python3.7]
status code: 400, request id: 34c8e41c-1945-11ea-9b28-1186190c1107
on short_urls.tf line 336, in resource "aws_cloudfront_distribution" "short_urls_cloudfront":
336: resource "aws_cloudfront_distribution" "short_urls_cloudfront" {
@soniCaH which runtime are you using? While Lambda does support the 12.x runtime, Lambda@Edge doesn't yet.
I tried node 8 - 10 and 12 (default) via nvm, still same output
You need to use lifecycle
policy for your aws_lambda_permission
resource, and then replace statement_id
with statement_id_prefix
Environment:
macOS 10.15.1
Output: