Skip to content

Commit e9c4676

Browse files
authored
feat: Added create before destroy on aws_lambda_permission (terraform-aws-modules#561)
1 parent 2e3dc95 commit e9c4676

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

main.tf

+22-14
Original file line numberDiff line numberDiff line change
@@ -273,13 +273,17 @@ resource "aws_lambda_permission" "current_version_triggers" {
273273
function_name = aws_lambda_function.this[0].function_name
274274
qualifier = aws_lambda_function.this[0].version
275275

276-
statement_id = try(each.value.statement_id, each.key)
277-
action = try(each.value.action, "lambda:InvokeFunction")
278-
principal = try(each.value.principal, format("%s.amazonaws.com", try(each.value.service, "")))
279-
principal_org_id = try(each.value.principal_org_id, null)
280-
source_arn = try(each.value.source_arn, null)
281-
source_account = try(each.value.source_account, null)
282-
event_source_token = try(each.value.event_source_token, null)
276+
statement_id_prefix = try(each.value.statement_id, each.key)
277+
action = try(each.value.action, "lambda:InvokeFunction")
278+
principal = try(each.value.principal, format("%s.amazonaws.com", try(each.value.service, "")))
279+
principal_org_id = try(each.value.principal_org_id, null)
280+
source_arn = try(each.value.source_arn, null)
281+
source_account = try(each.value.source_account, null)
282+
event_source_token = try(each.value.event_source_token, null)
283+
284+
lifecycle {
285+
create_before_destroy = true
286+
}
283287
}
284288

285289
# Error: Error adding new Lambda Permission for lambda: InvalidParameterValueException: We currently do not support adding policies for $LATEST.
@@ -288,13 +292,17 @@ resource "aws_lambda_permission" "unqualified_alias_triggers" {
288292

289293
function_name = aws_lambda_function.this[0].function_name
290294

291-
statement_id = try(each.value.statement_id, each.key)
292-
action = try(each.value.action, "lambda:InvokeFunction")
293-
principal = try(each.value.principal, format("%s.amazonaws.com", try(each.value.service, "")))
294-
principal_org_id = try(each.value.principal_org_id, null)
295-
source_arn = try(each.value.source_arn, null)
296-
source_account = try(each.value.source_account, null)
297-
event_source_token = try(each.value.event_source_token, null)
295+
statement_id_prefix = try(each.value.statement_id, each.key)
296+
action = try(each.value.action, "lambda:InvokeFunction")
297+
principal = try(each.value.principal, format("%s.amazonaws.com", try(each.value.service, "")))
298+
principal_org_id = try(each.value.principal_org_id, null)
299+
source_arn = try(each.value.source_arn, null)
300+
source_account = try(each.value.source_account, null)
301+
event_source_token = try(each.value.event_source_token, null)
302+
303+
lifecycle {
304+
create_before_destroy = true
305+
}
298306
}
299307

300308
resource "aws_lambda_event_source_mapping" "this" {

0 commit comments

Comments
 (0)