@@ -5,40 +5,49 @@ data "archive_file" "api_lambda_code" {
55}
66
77locals {
8- dynamo_stream_reader_lambda_name = " ${ var . ProjectId } -dynamo-archival"
9- firehose_stream_name = " ${ var . ProjectId } -archival-stream"
8+ aws_region = " us-east-2"
9+ dynamo_stream_reader_lambda_name = " ${ var . ProjectId } -${ local . aws_region } -dynamo-archival"
10+ firehose_stream_name = " ${ var . ProjectId } -${ local . aws_region } -archival-stream"
11+ bucket_prefix = " ${ data . aws_caller_identity . current . account_id } -${ local . aws_region } "
1012}
13+
1114data "aws_caller_identity" "current" {}
1215data "aws_region" "current" {}
1316
1417resource "aws_cloudwatch_log_group" "archive_logs" {
18+ region = local. aws_region
1519 name = " /aws/lambda/${ local . dynamo_stream_reader_lambda_name } "
1620 retention_in_days = var. LogRetentionDays
1721}
1822
1923resource "aws_cloudwatch_log_group" "firehose_logs" {
24+ region = local. aws_region
2025 name = " /aws/kinesisfirehose/${ local . firehose_stream_name } "
2126 retention_in_days = var. LogRetentionDays
2227}
2328
2429resource "aws_cloudwatch_log_stream" "firehose_logs_stream" {
30+ region = local. aws_region
2531 log_group_name = aws_cloudwatch_log_group. firehose_logs . name
2632 name = " DataArchivalS3Delivery"
2733}
2834
2935
3036resource "aws_s3_bucket" "this" {
31- bucket = " ${ var . BucketPrefix } -ddb-archive"
37+ region = local. aws_region
38+ bucket = " ${ local . bucket_prefix } -ddb-archive"
3239}
3340
3441resource "aws_s3_bucket_versioning" "this" {
42+ region = local. aws_region
3543 bucket = aws_s3_bucket. this . id
3644 versioning_configuration {
3745 status = " Enabled"
3846 }
3947}
4048
4149resource "aws_s3_bucket_lifecycle_configuration" "this" {
50+ region = local. aws_region
4251 bucket = aws_s3_bucket. this . id
4352
4453 rule {
@@ -92,6 +101,7 @@ resource "aws_s3_bucket_lifecycle_configuration" "this" {
92101}
93102
94103resource "aws_s3_bucket_intelligent_tiering_configuration" "this" {
104+ region = local. aws_region
95105 bucket = aws_s3_bucket. this . id
96106 name = " ArchiveAfterSixMonths"
97107 status = " Enabled"
@@ -134,11 +144,13 @@ resource "aws_iam_policy" "archive_lambda_policy" {
134144
135145
136146data "aws_dynamodb_table" "existing_tables" {
147+ region = local. aws_region
137148 for_each = toset (var. MonitorTables )
138149 name = each. key
139150}
140151
141152resource "aws_lambda_event_source_mapping" "stream_mapping" {
153+ region = local. aws_region
142154 for_each = toset (var. MonitorTables )
143155 function_name = aws_lambda_function. api_lambda . arn
144156 event_source_arn = data. aws_dynamodb_table . existing_tables [each . key ]. stream_arn
@@ -218,6 +230,7 @@ resource "aws_iam_role_policy_attachment" "firehose_attach" {
218230}
219231
220232resource "aws_kinesis_firehose_delivery_stream" "dynamic_stream" {
233+ region = local. aws_region
221234 name = local. firehose_stream_name
222235 destination = " extended_s3"
223236
@@ -299,6 +312,7 @@ resource "aws_iam_role_policy_attachment" "archive_attach" {
299312}
300313
301314resource "aws_lambda_function" "api_lambda" {
315+ region = local. aws_region
302316 depends_on = [aws_cloudwatch_log_group . archive_logs ]
303317 function_name = local. dynamo_stream_reader_lambda_name
304318 role = aws_iam_role. archive_role . arn
0 commit comments