From a02e818246b973dba57de0d7f7272a773c5bf00c Mon Sep 17 00:00:00 2001 From: Lawrence Warren Date: Mon, 11 Sep 2023 11:35:31 +0100 Subject: [PATCH] feat(tf): Update module to allow setting metric dimensions --- modules/log-metric-filter/README.md | 3 ++- modules/log-metric-filter/main.tf | 1 + modules/log-metric-filter/variables.tf | 8 +++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/log-metric-filter/README.md b/modules/log-metric-filter/README.md index 19d8ac7..ecf4760 100644 --- a/modules/log-metric-filter/README.md +++ b/modules/log-metric-filter/README.md @@ -30,7 +30,8 @@ No modules. |------|-------------|------|---------|:--------:| | [create\_cloudwatch\_log\_metric\_filter](#input\_create\_cloudwatch\_log\_metric\_filter) | Whether to create the Cloudwatch log metric filter | `bool` | `true` | no | | [log\_group\_name](#input\_log\_group\_name) | The name of the log group to associate the metric filter with | `string` | n/a | yes | -| [metric\_transformation\_default\_value](#input\_metric\_transformation\_default\_value) | The value to emit when a filter pattern does not match a log event. | `string` | `null` | no | +| [metric\_transformation\_default\_value](#input\_metric\_transformation\_default\_value) | The value to emit when a filter pattern does not match a log event. Conflicts with `metric_transformation_dimensions`. | `string` | `null` | no | +| [metric\_transformation\_dimensions](#input\_metric\_transformation\_dimensions) | The additional dimensions to assign to the metric, in the form `"name" = "$.value". Conflicts with `metric\_transformation\_default\_value`.` | `map(string)` | `{}` | no | | [metric\_transformation\_name](#input\_metric\_transformation\_name) | The name of the CloudWatch metric to which the monitored log information should be published (e.g. ErrorCount) | `string` | n/a | yes | | [metric\_transformation\_namespace](#input\_metric\_transformation\_namespace) | The destination namespace of the CloudWatch metric. | `string` | n/a | yes | | [metric\_transformation\_unit](#input\_metric\_transformation\_unit) | The unit to assign to the metric. If you omit this, the unit is set as None. | `string` | `null` | no | diff --git a/modules/log-metric-filter/main.tf b/modules/log-metric-filter/main.tf index 665e019..9bd53f4 100644 --- a/modules/log-metric-filter/main.tf +++ b/modules/log-metric-filter/main.tf @@ -11,5 +11,6 @@ resource "aws_cloudwatch_log_metric_filter" "this" { value = var.metric_transformation_value default_value = var.metric_transformation_default_value unit = var.metric_transformation_unit + dimensions = var.metric_transformation_dimensions } } diff --git a/modules/log-metric-filter/variables.tf b/modules/log-metric-filter/variables.tf index 685c000..9837360 100644 --- a/modules/log-metric-filter/variables.tf +++ b/modules/log-metric-filter/variables.tf @@ -37,7 +37,7 @@ variable "metric_transformation_value" { } variable "metric_transformation_default_value" { - description = "The value to emit when a filter pattern does not match a log event." + description = "The value to emit when a filter pattern does not match a log event. Conflicts with `metric_transformation_dimensions`." type = string default = null } @@ -47,3 +47,9 @@ variable "metric_transformation_unit" { type = string default = null } + +variable "metric_transformation_dimensions" { + description = "The additional dimensions to assign to the metric, in the form `\"name\" = \"$.value\". Conflicts with `metric_transformation_default_value`." + type = map(string) + default = {} +}