Skip to content

Commit 9330e40

Browse files
authored
Merge pull request #28 from byu-oit/patch/function-name
fix: update function name so terraform can deploy resources in the right order
2 parents f96eda1 + 2398b3b commit 9330e40

File tree

7 files changed

+14
-10
lines changed

7 files changed

+14
-10
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Also Note: CodePipeline and CodeDeploy cannot be used together to deploy a Lambd
2727
For a Zip file lambda
2828
```hcl
2929
module "lambda_api" {
30-
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.0"
30+
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.1"
3131
app_name = "my-lambda-codedeploy-dev"
3232
zip_filename = "./src/lambda.zip"
3333
zip_handler = "index.handler"
@@ -50,7 +50,7 @@ module "lambda_api" {
5050
For a docker image lambda:
5151
```hcl
5252
module "lambda_api" {
53-
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.0"
53+
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.1"
5454
app_name = "my-docker-lambda"
5555
image_uri = "my-image-from-my-ecr:latest"
5656
hosted_zone = module.acs.route53_zone

changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## v2.1.1
4+
4/25/2022 - fixed race condition when resources depend on the function existing before their creation
5+
- updated references to the lambda arn where it should be the function name
6+
37
## v2.1.0
48
4/22/2022 - `lambda_layers` variable added as pass-through to `layers` variable of `aws_lambda_function` resource
59

examples/docker-lambda/docker.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module "acs" {
99

1010
module "lambda_api" {
1111
# source = "../../"
12-
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.0"
12+
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.1"
1313
app_name = "my-docker-lambda"
1414
image_uri = "my-image-from-my-ecr:latest"
1515
hosted_zone = module.acs.route53_zone

examples/no-codedeploy/example.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module "acs" {
99

1010
module "lambda_api" {
1111
# source = "../../"
12-
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.0"
12+
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.1"
1313
app_name = "my-lambda-dev"
1414
zip_filename = "./src/lambda.zip"
1515
zip_handler = "index.handler"

examples/simple-lambda-in-vpc/example.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module "acs" {
99

1010
module "lambda_api" {
1111
# source = "../../"
12-
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.0"
12+
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.1"
1313
app_name = "my-lambda-dev"
1414
zip_filename = "./src/lambda.zip"
1515
zip_handler = "index.handler"

examples/simple-lambda-with-deploy-test/example.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module "acs" {
99

1010
module "lambda_api" {
1111
# source = "../../"
12-
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.0"
12+
source = "github.com/byu-oit/terraform-aws-lambda-api?ref=v2.1.1"
1313
app_name = "my-lambda-codedeploy-dev"
1414
env = "dev"
1515
zip_filename = "./src/lambda.zip"

main.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ resource "aws_alb_listener" "http_to_https" {
140140
resource "aws_lambda_permission" "with_lb" {
141141
statement_id = "AllowExecutionFromlb"
142142
action = "lambda:InvokeFunction"
143-
function_name = var.app_name
143+
function_name = local.use_zip ? aws_lambda_function.zip_api[0].function_name : aws_lambda_function.docker_api[0].function_name
144144
principal = "elasticloadbalancing.amazonaws.com"
145145
source_arn = aws_alb_target_group.tg.arn
146146
qualifier = local.use_codedeploy ? aws_lambda_alias.live_codedeploy[0].name : aws_lambda_alias.live[0].name
@@ -150,7 +150,7 @@ resource "aws_lambda_permission" "with_tst_lb" {
150150
count = local.use_codedeploy ? 1 : 0
151151
statement_id = "AllowExecutionFromlb"
152152
action = "lambda:InvokeFunction"
153-
function_name = var.app_name
153+
function_name = local.use_zip ? aws_lambda_function.zip_api[0].function_name : aws_lambda_function.docker_api[0].function_name
154154
principal = "elasticloadbalancing.amazonaws.com"
155155
source_arn = aws_alb_target_group.tst_tg[0].arn
156156
}
@@ -310,15 +310,15 @@ resource "aws_lambda_alias" "live" {
310310
count = !local.use_codedeploy ? 1 : 0
311311
name = "live"
312312
description = "ALB sends traffic to this version"
313-
function_name = local.use_zip ? aws_lambda_function.zip_api[0].arn : aws_lambda_function.docker_api[0].arn
313+
function_name = local.use_zip ? aws_lambda_function.zip_api[0].function_name : aws_lambda_function.docker_api[0].function_name
314314
function_version = local.use_zip ? aws_lambda_function.zip_api[0].version : aws_lambda_function.docker_api[0].version
315315
}
316316

317317
resource "aws_lambda_alias" "live_codedeploy" {
318318
count = local.use_codedeploy ? 1 : 0
319319
name = "live"
320320
description = "ALB sends traffic to this version"
321-
function_name = var.app_name
321+
function_name = local.use_zip ? aws_lambda_function.zip_api[0].function_name : aws_lambda_function.docker_api[0].function_name
322322
# Get the version of the lambda when it is first created
323323
function_version = local.use_zip ? aws_lambda_function.zip_api[0].version : aws_lambda_function.docker_api[0].version
324324
# Let CodeDeploy handle changes to the function version that this alias refers to

0 commit comments

Comments
 (0)