1
1
2
+ # ### Create lambda functions for MDF Connect
3
+ # ### These functions are deployed as container images
4
+ # ### The container images are built and pushed to ECR by the GitHub Action
5
+ # ### We explicitly create the log groups so we can tag them and set the retention period
6
+ locals {
7
+ auth_function_name = " ${ var . namespace } -auth-${ var . env } "
8
+ submit_function_name = " ${ var . namespace } -submit-${ var . env } "
9
+ status_function_name = " ${ var . namespace } -status-${ var . env } "
10
+ submissions_function_name = " ${ var . namespace } -submissions-${ var . env } "
11
+ }
12
+
2
13
resource "aws_lambda_function" "mdf-connect-auth" {
3
- function_name = " ${ var . namespace } -auth- ${ var . env } "
14
+ function_name = local . auth_function_name
4
15
description = " GlobusAuth Authorizer for MDF Connect"
5
16
image_uri = " ${ var . ecr_repos [" auth" ]} :${ var . env } "
6
17
package_type = " Image"
@@ -10,11 +21,19 @@ resource "aws_lambda_function" "mdf-connect-auth" {
10
21
environment {
11
22
variables = var. env_vars
12
23
}
24
+ depends_on = [aws_cloudwatch_log_group . auth_log_group ]
25
+ tags = var. resource_tags
13
26
}
14
27
15
28
29
+ resource "aws_cloudwatch_log_group" "auth_log_group" {
30
+ name = " /aws/lambda/${ local . auth_function_name } "
31
+ retention_in_days = 5
32
+ tags = var. resource_tags
33
+ }
34
+
16
35
resource "aws_lambda_function" "mdf-connect-submit" {
17
- function_name = " ${ var . namespace } -submit- ${ var . env } "
36
+ function_name = local . submit_function_name
18
37
description = " Submit Datasets via MDF Connect"
19
38
image_uri = " ${ var . ecr_repos [" submit" ]} :${ var . env } "
20
39
package_type = " Image"
@@ -24,10 +43,18 @@ resource "aws_lambda_function" "mdf-connect-submit" {
24
43
environment {
25
44
variables = var. env_vars
26
45
}
46
+ depends_on = [aws_cloudwatch_log_group . submit_log_group ]
47
+ tags = var. resource_tags
48
+ }
49
+
50
+ resource "aws_cloudwatch_log_group" "submit_log_group" {
51
+ name = " /aws/lambda/${ local . submit_function_name } "
52
+ retention_in_days = 5
53
+ tags = var. resource_tags
27
54
}
28
55
29
56
resource "aws_lambda_function" "mdf-connect-status" {
30
- function_name = " ${ var . namespace } -status- ${ var . env } "
57
+ function_name = local . status_function_name
31
58
description = " Retrieve submit status via MDF Connect"
32
59
image_uri = " ${ var . ecr_repos [" status" ]} :${ var . env } "
33
60
package_type = " Image"
@@ -37,11 +64,18 @@ resource "aws_lambda_function" "mdf-connect-status" {
37
64
environment {
38
65
variables = var. env_vars
39
66
}
67
+ depends_on = [aws_cloudwatch_log_group . status_log_group ]
68
+ tags = var. resource_tags
40
69
}
41
70
71
+ resource "aws_cloudwatch_log_group" "status_log_group" {
72
+ name = " /aws/lambda/${ local . status_function_name } "
73
+ retention_in_days = 5
74
+ tags = var. resource_tags
75
+ }
42
76
43
77
resource "aws_lambda_function" "mdf-connect-submissions" {
44
- function_name = " ${ var . namespace } -submissions- ${ var . env } "
78
+ function_name = local . submissions_function_name
45
79
description = " Retrieve history of submissions via MDF Connect"
46
80
47
81
image_uri = " ${ var . ecr_repos [" submissions" ]} :${ var . env } "
@@ -53,5 +87,12 @@ resource "aws_lambda_function" "mdf-connect-submissions" {
53
87
environment {
54
88
variables = var. env_vars
55
89
}
90
+ depends_on = [aws_cloudwatch_log_group . submissions_log_group ]
91
+ tags = var. resource_tags
56
92
}
57
93
94
+ resource "aws_cloudwatch_log_group" "submissions_log_group" {
95
+ name = " /aws/lambda/${ local . submissions_function_name } "
96
+ retention_in_days = 5
97
+ tags = var. resource_tags
98
+ }
0 commit comments