@@ -111,6 +111,9 @@ locals {
111
111
AfterAllowTraffic = null
112
112
}
113
113
]) : null
114
+
115
+ # Hacky workaround for bootstrap issue
116
+ # is_initial = aws_lambda_alias.initial.function_version == aws_lambda_alias.live.function_version
114
117
}
115
118
116
119
@@ -317,9 +320,10 @@ resource "aws_lambda_function" "api_lambda" {
317
320
318
321
resource "aws_lambda_alias" "live" {
319
322
name = " live"
320
- description = " a sample description"
323
+ description = " a sample description" // TODO:
321
324
function_name = aws_lambda_function. api_lambda . arn
322
- function_version = " 1"
325
+ # Get the version of the lambda when it is first created
326
+ function_version = aws_lambda_function. api_lambda . version
323
327
# Let CodeDeploy handle changes to the function version that this alias refers to
324
328
lifecycle {
325
329
ignore_changes = [
@@ -328,6 +332,20 @@ resource "aws_lambda_alias" "live" {
328
332
}
329
333
}
330
334
335
+ # resource "aws_lambda_alias" "initial" {
336
+ # name = "initial"
337
+ # description = "a sample description" //TODO:
338
+ # function_name = aws_lambda_function.api_lambda.arn
339
+ # # Get the version of the lambda when it is first created
340
+ # function_version = aws_lambda_function.api_lambda.version
341
+ # # Let CodeDeploy handle changes to the function version that this alias refers to
342
+ # lifecycle {
343
+ # ignore_changes = [
344
+ # function_version
345
+ # ]
346
+ # }
347
+ # }
348
+
331
349
# ==================== CodeDeploy ====================
332
350
333
351
resource "aws_codedeploy_app" "app" {
@@ -382,10 +400,11 @@ resource "aws_iam_role_policy_attachment" "lambda_cloudwatch_attach" {
382
400
383
401
# ==================== AppSpec file ====================
384
402
385
- data "aws_lambda_alias" "alias_for_old_version" {
386
- function_name = aws_lambda_function. api_lambda . function_name
387
- name = " live" // TODO: Make local?
388
- }
403
+ # data "aws_lambda_alias" "alias_for_old_version" {
404
+ # count = local.is_initial ? 0 : 1
405
+ # function_name = aws_lambda_function.api_lambda.function_name
406
+ # name = "live" //TODO: Make local?
407
+ # }
389
408
390
409
resource "local_file" "appspec_json" {
391
410
filename = " ${ path . cwd } /appspec.json"
@@ -397,7 +416,7 @@ resource "local_file" "appspec_json" {
397
416
Properties = {
398
417
Name = aws_lambda_function.api_lambda.function_name
399
418
Alias = aws_lambda_alias.live.name
400
- CurrentVersion = data.aws_lambda_alias.alias_for_old_version.function_version
419
+ # CurrentVersion = local.is_initial ? aws_lambda_alias.initial.function_version : data.aws_lambda_alias.alias_for_old_version[0] .function_version
401
420
TargetVersion = aws_lambda_function.api_lambda.version
402
421
}
403
422
}
0 commit comments