1
1
locals {
2
+ name = coalesce (module. this . name , var. name , " cognito-custom-message-sender" )
2
3
enabled = module. this . enabled
3
4
aws_account_id = try (coalesce (var. aws_account_id , data. aws_caller_identity . current [0 ]. account_id ), " " )
4
- aws_region_name = try (coalesce (var. aws_region_name , data. aws_caller_identity . current [0 ]. region ), " " )
5
+ aws_region_name = try (coalesce (var. aws_region_name , data. aws_region . current [0 ]. name ), " " )
5
6
6
7
email_sender_enabled = false
7
8
@@ -12,7 +13,11 @@ locals {
12
13
}
13
14
14
15
data "aws_caller_identity" "current" {
15
- count = local. enabled && (var. aws_account_id == " " || var. aws_region_name == " " ) ? 1 : 0
16
+ count = local. enabled && var. aws_account_id == " " ? 1 : 0
17
+ }
18
+
19
+ data "aws_region" "current" {
20
+ count = local. enabled && var. aws_region_name == " " ? 1 : 0
16
21
}
17
22
18
23
# ============================================================ message-sender ===
@@ -21,30 +26,31 @@ module "message_sender_label" {
21
26
source = " cloudposse/label/null"
22
27
version = " 0.25.0"
23
28
24
- name = var . name == " " ? " cognito-custom-message-sender " : var . name
29
+ name = local . name
25
30
context = module. this . context
26
31
}
27
32
28
33
module "message_sender_code" {
29
34
source = " sgtoj/artifact-packager/docker"
30
- version = " 1.0.0 "
35
+ version = " 1.3.1 "
31
36
32
37
artifact_src_path = " /tmp/package.zip"
33
- docker_build_context = abspath (" ${ path . module } /assets/cognito -message-sender" )
38
+ docker_build_context = abspath (" ${ path . module } /assets/custom -message-sender" )
34
39
docker_build_target = " package"
35
40
36
41
docker_build_args = {
37
42
SERVICE_OPA_POLICY_ENCODED = base64encode (local. sms_sender_policy_content )
38
43
}
39
44
40
-
41
45
context = module. message_sender_label . context
42
46
}
43
47
44
48
resource "aws_cloudwatch_log_group" "message_sender" {
45
- count = local. enabled ? 1 : 0
49
+ count = local. enabled ? 1 : 0
50
+
46
51
name = " /aws/lambda/${ module . message_sender_label . id } "
47
52
retention_in_days = 90
53
+ tags = module. message_sender_label . tags
48
54
}
49
55
50
56
resource "aws_lambda_function" "message_sender" {
@@ -64,7 +70,7 @@ resource "aws_lambda_function" "message_sender" {
64
70
65
71
environment {
66
72
variables = {
67
- LOG_LEVEL = var.service_log_level ? " debug " : " info "
73
+ LOG_LEVEL = var.service_log_level
68
74
KMS_KEY_ID = module.kms_key.key_arn
69
75
DDB_TABLE_HISTORY_NAME = aws_dynamodb_table.history[0 ].name
70
76
DDB_TABLE_HISTORY_TTL = 43200
@@ -100,11 +106,11 @@ module "history_label" {
100
106
version = " 0.25.0"
101
107
102
108
attributes = [" history" ]
103
- context = module. this . context
109
+ context = module. message_sender_label . context
104
110
}
105
111
106
112
resource "aws_dynamodb_table" "history" {
107
- count = module. this . enabled ? 1 : 0
113
+ count = module. message_sender_label . enabled ? 1 : 0
108
114
109
115
name = module. history_label . id
110
116
billing_mode = " PAY_PER_REQUEST"
@@ -160,18 +166,18 @@ module "kms_key" {
160
166
source = " cloudposse/kms-key/aws"
161
167
version = " 0.12.1"
162
168
163
- alias = " ${ var . kms_key_alias_prefix } /${ module . this . name } "
169
+ alias = " ${ var . kms_key_alias_prefix } /${ module . message_sender_label . name } "
164
170
deletion_window_in_days = 7
165
171
166
- context = module. this . context
172
+ context = module. message_sender_label . context
167
173
}
168
174
169
175
# ---------------------------------------------------------------------- iam ---
170
176
171
177
resource "aws_iam_role" "this" {
172
178
count = local. enabled ? 1 : 0
173
179
174
- name = module. this . id
180
+ name = module. message_sender_label . id
175
181
description = " "
176
182
177
183
assume_role_policy = jsonencode ({
@@ -192,7 +198,7 @@ resource "aws_iam_role" "this" {
192
198
policy = data. aws_iam_policy_document . this [0 ]. json
193
199
}
194
200
195
- tags = module. this . tags
201
+ tags = module. message_sender_label . tags
196
202
}
197
203
198
204
data "aws_iam_policy_document" "this" {
0 commit comments