From 667ba7ba4dfd5f83389b6512a908e70ac7dac433 Mon Sep 17 00:00:00 2001 From: Kuntal Basu Date: Fri, 8 Nov 2024 15:22:03 -0500 Subject: [PATCH 1/4] making fields optional --- monitoring.tf | 7 +++---- variables.tf | 14 +++++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/monitoring.tf b/monitoring.tf index 40c0db0..137aa34 100644 --- a/monitoring.tf +++ b/monitoring.tf @@ -22,10 +22,9 @@ resource "datadog_monitor" "dead_letters_monitor" { query = "avg(last_1h):avg:aws.sqs.approximate_number_of_messages_visible{queuename:${each.key}} > ${var.dl_critical}" monitor_thresholds { - warning = local.dl_warning - warning_recovery = local.dl_warning - 1 - critical = local.dl_critical - critical_recovery = local.dl_critical - 1 + warning = local.dl_warning + critical = local.dl_critical + ok = local.dl_ok } notify_no_data = false diff --git a/variables.tf b/variables.tf index 9002619..5dc122d 100644 --- a/variables.tf +++ b/variables.tf @@ -256,17 +256,21 @@ variable "dl_alert_message" { } variable "dl_warning" { - type = number - default = 0 + type = any + default = "" description = "Dead letters warning value" } variable "dl_critical" { - type = number - default = 0 + type = any + default = "" + description = "Dead letters critical value" +} +variable "dl_ok" { + type = any + default = "" description = "Dead letters critical value" } - variable "tags_monitoring" { type = list(string) default = [] From c436e8016036161aa207351dfd77984059e45e67 Mon Sep 17 00:00:00 2001 From: Kuntal Basu Date: Fri, 8 Nov 2024 15:24:53 -0500 Subject: [PATCH 2/4] Removing redundant local variables --- monitoring.tf | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/monitoring.tf b/monitoring.tf index 137aa34..d8e1055 100644 --- a/monitoring.tf +++ b/monitoring.tf @@ -1,7 +1,4 @@ locals { - enable_dead_letters_monitoring = var.enabled_dead_letters_monitoring - dl_warning = var.dl_warning - dl_critical = var.dl_critical dlq_to_monitor = [ local.enable_group_events ? var.sqs_fifo_DL_queue_name : var.sqs_queue_name_dl, var.enable_glue_create ? var.glue_create_config.sqs_queue_name_dl : "", @@ -10,7 +7,7 @@ locals { } resource "datadog_monitor" "dead_letters_monitor" { - for_each = local.enable_dead_letters_monitoring ? toset(local.dlq_to_monitor) : [] + for_each = var.enable_dead_letters_monitoring ? toset(local.dlq_to_monitor) : [] type = "metric alert" name = "${each.key}-monitor" @@ -22,9 +19,9 @@ resource "datadog_monitor" "dead_letters_monitor" { query = "avg(last_1h):avg:aws.sqs.approximate_number_of_messages_visible{queuename:${each.key}} > ${var.dl_critical}" monitor_thresholds { - warning = local.dl_warning - critical = local.dl_critical - ok = local.dl_ok + warning = var.dl_warning + critical = var.dl_critical + ok = var.dl_ok } notify_no_data = false From d53521e7730aa07006af177b8287527cc46aa756 Mon Sep 17 00:00:00 2001 From: Kuntal Basu Date: Fri, 8 Nov 2024 15:26:25 -0500 Subject: [PATCH 3/4] fixing variable name --- monitoring.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitoring.tf b/monitoring.tf index d8e1055..4e8b44c 100644 --- a/monitoring.tf +++ b/monitoring.tf @@ -7,7 +7,7 @@ locals { } resource "datadog_monitor" "dead_letters_monitor" { - for_each = var.enable_dead_letters_monitoring ? toset(local.dlq_to_monitor) : [] + for_each = var.enabled_dead_letters_monitoring ? toset(local.dlq_to_monitor) : [] type = "metric alert" name = "${each.key}-monitor" From 24aa7238eed8e4e1297ee740fea852629354723c Mon Sep 17 00:00:00 2001 From: Kuntal Basu Date: Mon, 3 Feb 2025 17:28:43 -0500 Subject: [PATCH 4/4] adding 2023 runtime and lambda architecture variable --- autotagging.tf | 6 +++--- glue_create.tf | 6 +++--- glue_sync.tf | 6 +++--- main.tf | 6 ++++-- variables.tf | 6 ++++++ 5 files changed, 19 insertions(+), 11 deletions(-) diff --git a/autotagging.tf b/autotagging.tf index 2449a51..36c73a6 100644 --- a/autotagging.tf +++ b/autotagging.tf @@ -1,15 +1,15 @@ # This is the optional Autotagging feature. resource "aws_lambda_function" "auto_tagging" { - count = var.enable_auto_tagging == true ? 1 : 0 - + count = var.enable_auto_tagging == true ? 1 : 0 + architectures = var.architectures description = var.lambda_description s3_key = var.auto_tagging_s3_key s3_bucket = var.auto_tagging_s3_bucket function_name = "${var.lambda_function_name}-auto_tagging" role = aws_iam_role.auto_tagging_lambda[0].arn handler = "provided" - runtime = "provided.al2" + runtime = "provided.al2023" memory_size = var.lambda_memory_size # lets set 2 minutes timeout = var.lambda_timeout diff --git a/glue_create.tf b/glue_create.tf index 08d5ab0..7ccced0 100644 --- a/glue_create.tf +++ b/glue_create.tf @@ -243,15 +243,15 @@ resource "aws_iam_role" "glue_create" { } resource "aws_lambda_function" "glue_create_lambda" { - count = var.enable_glue_create ? 1 : 0 - + count = var.enable_glue_create ? 1 : 0 + architectures = var.architectures description = "Greate tables in AWS Glue catalog based on the table prefix" s3_key = var.glue_create_config.lambda_s3_key s3_bucket = var.glue_create_config.lambda_s3_bucket function_name = var.glue_create_config.lambda_function_name role = aws_iam_role.glue_create[0].arn handler = "provided" - runtime = "provided.al2" + runtime = "provided.al2023" memory_size = var.lambda_memory_size timeout = var.lambda_timeout environment { diff --git a/glue_sync.tf b/glue_sync.tf index 55ed27b..4f35499 100644 --- a/glue_sync.tf +++ b/glue_sync.tf @@ -172,15 +172,15 @@ resource "aws_iam_role" "glue_sync" { } resource "aws_lambda_function" "glue_sync_lambda" { - count = var.enable_glue_sync ? 1 : 0 - + count = var.enable_glue_sync ? 1 : 0 + architectures = var.architectures description = "Greate tables in AWS Glue catalog based on the table prefix" s3_key = var.glue_sync_config.lambda_s3_key s3_bucket = var.glue_sync_config.lambda_s3_bucket function_name = var.glue_sync_config.lambda_function_name role = aws_iam_role.glue_sync[0].arn handler = "provided" - runtime = "provided.al2" + runtime = "provided.al2023" memory_size = var.lambda_memory_size timeout = var.lambda_timeout environment { diff --git a/main.tf b/main.tf index 8fc9f60..5657131 100644 --- a/main.tf +++ b/main.tf @@ -87,12 +87,13 @@ locals { resource "aws_lambda_function" "this_lambda" { description = var.lambda_description + architectures = var.architectures s3_key = var.lambda_s3_key s3_bucket = var.lambda_s3_bucket function_name = var.lambda_function_name role = aws_iam_role.this_iam_role_lambda_kinesis.arn handler = "provided" - runtime = "provided.al2" + runtime = "provided.al2023" memory_size = var.lambda_memory_size # lets set 2 minutes timeout = var.lambda_timeout @@ -113,13 +114,14 @@ resource "aws_lambda_function" "this_lambda" { #### This lambda is optional and used only when grouping of events is required resource "aws_lambda_function" "group_events_lambda" { count = local.enable_group_events ? 1 : 0 + architectures = var.architectures description = "Group events for oxbow based on the table prefix" s3_key = var.events_lambda_s3_key s3_bucket = var.events_lambda_s3_bucket function_name = var.events_lambda_function_name role = aws_iam_role.this_iam_role_lambda_kinesis.arn handler = "provided" - runtime = "provided.al2" + runtime = "provided.al2023" environment { variables = merge({ diff --git a/variables.tf b/variables.tf index 5dc122d..a71d53a 100644 --- a/variables.tf +++ b/variables.tf @@ -373,3 +373,9 @@ variable "group_event_lambda_maximum_batching_window_in_seconds" { description = "describe your variable" default = 1 } + +variable "architectures" { + description = "Instruction set architecture for your Lambda function. Valid values are [\"x86_64\"] and [\"arm64\"]." + type = list(string) + default = ["x86_64"] +}