From 671fc6e627d957ada47ef3f33068d715e79d25d6 Mon Sep 17 00:00:00 2001 From: Nick Nikitas Date: Thu, 8 Feb 2024 02:32:47 +0200 Subject: [PATCH] fix: Karpenter `enable_spot_termination = false` should not result in an error (#2907) * Add condition for statement if enable_spot_termination is true * Update modules/karpenter/main.tf --------- Co-authored-by: Bryant Biggs --- modules/karpenter/main.tf | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/modules/karpenter/main.tf b/modules/karpenter/main.tf index 4fc3ef0..add2795 100644 --- a/modules/karpenter/main.tf +++ b/modules/karpenter/main.tf @@ -252,15 +252,19 @@ data "aws_iam_policy_document" "controller" { actions = ["pricing:GetProducts"] } - statement { - sid = "AllowInterruptionQueueActions" - resources = [aws_sqs_queue.this[0].arn] - actions = [ - "sqs:DeleteMessage", - "sqs:GetQueueAttributes", - "sqs:GetQueueUrl", - "sqs:ReceiveMessage" - ] + dynamic "statement" { + for_each = local.enable_spot_termination ? [1] : [] + + content { + sid = "AllowInterruptionQueueActions" + resources = [try(aws_sqs_queue.this[0].arn, null)] + actions = [ + "sqs:DeleteMessage", + "sqs:GetQueueAttributes", + "sqs:GetQueueUrl", + "sqs:ReceiveMessage" + ] + } } statement {