From dd8cbbf791697d244f350ab67e5491b7b60dec1b Mon Sep 17 00:00:00 2001 From: Rob Bayliss Date: Wed, 22 Jun 2022 14:33:05 -0400 Subject: [PATCH 1/2] Allow XRay tracing to be enabled for lambda functions --- lambda/main.tf | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lambda/main.tf b/lambda/main.tf index 89a73ac3..ac99e506 100644 --- a/lambda/main.tf +++ b/lambda/main.tf @@ -12,6 +12,14 @@ resource "aws_lambda_function" "default" { security_group_ids = var.security_groups subnet_ids = var.subnets } + + # Allow XRay tracing to be configured. + dynamic "tracing_config" { + for_each = var.enable_tracing === true ? [true] : [] + content { + mode = "All" + } + } # The aws_lambda_function resource has a schema for the environment # variable, where the only acceptable values are: From a9f0c4badaa2f790f48e6ecb659c15f8d7ad93b9 Mon Sep 17 00:00:00 2001 From: Rob Bayliss Date: Wed, 22 Jun 2022 14:46:36 -0400 Subject: [PATCH 2/2] Grant role IAM access to use X-Ray --- lambda/main.tf | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lambda/main.tf b/lambda/main.tf index ac99e506..a8bd32de 100644 --- a/lambda/main.tf +++ b/lambda/main.tf @@ -13,7 +13,7 @@ resource "aws_lambda_function" "default" { subnet_ids = var.subnets } - # Allow XRay tracing to be configured. + # Allow X-Ray tracing to be configured. dynamic "tracing_config" { for_each = var.enable_tracing === true ? [true] : [] content { @@ -93,6 +93,12 @@ resource "aws_iam_role_policy" "additional_policies" { policy = element(var.iam_policies, count.index) role = aws_iam_role.default.id } +# Conditionally grant X-Ray tracing access. +resource "aws_iam_role_policy_attachment" "xray" { + count = var.enable_tracing ? 1 : 0 + role = aws_iam_role.default.name + policy_arn = "arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess" +} /** * Scheduling