From df56ca8cdf205f4a797c8ab6f5aaed7d500b0ae6 Mon Sep 17 00:00:00 2001 From: magreenbaum Date: Fri, 8 Dec 2023 21:10:32 -0500 Subject: [PATCH 1/2] add log_group_class --- examples/cis-alarms/README.md | 2 +- examples/cis-alarms/versions.tf | 2 +- examples/complete-log-metric-filter-and-alarm/README.md | 2 +- examples/complete-log-metric-filter-and-alarm/versions.tf | 2 +- examples/fixtures/aws_cloudwatch_log_group/versions.tf | 2 +- examples/fixtures/aws_kms_key/versions.tf | 2 +- examples/fixtures/aws_lambda_function/versions.tf | 2 +- examples/fixtures/aws_sns_topic/versions.tf | 2 +- examples/lambda-metric-alarm/README.md | 2 +- examples/lambda-metric-alarm/versions.tf | 2 +- examples/log-group-with-log-stream/README.md | 2 +- examples/log-group-with-log-stream/main.tf | 1 + examples/log-group-with-log-stream/versions.tf | 2 +- examples/multiple-lambda-metric-alarm/README.md | 2 +- examples/multiple-lambda-metric-alarm/versions.tf | 2 +- modules/cis-alarms/README.md | 4 ++-- modules/cis-alarms/versions.tf | 2 +- modules/log-group/README.md | 5 +++-- modules/log-group/main.tf | 1 + modules/log-group/variables.tf | 6 ++++++ modules/log-group/versions.tf | 2 +- modules/log-metric-filter/README.md | 4 ++-- modules/log-metric-filter/versions.tf | 2 +- modules/log-stream/README.md | 4 ++-- modules/log-stream/versions.tf | 2 +- modules/metric-alarm/README.md | 4 ++-- modules/metric-alarm/versions.tf | 2 +- modules/metric-alarms-by-multiple-dimensions/README.md | 4 ++-- modules/metric-alarms-by-multiple-dimensions/versions.tf | 2 +- wrappers/log-group/main.tf | 1 + 30 files changed, 42 insertions(+), 32 deletions(-) diff --git a/examples/cis-alarms/README.md b/examples/cis-alarms/README.md index bb4f8c2..52aceae 100644 --- a/examples/cis-alarms/README.md +++ b/examples/cis-alarms/README.md @@ -20,7 +20,7 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.0 | +| [aws](#requirement\_aws) | >= 5.0 | ## Providers diff --git a/examples/cis-alarms/versions.tf b/examples/cis-alarms/versions.tf index d8dd1a4..ddfcb0e 100644 --- a/examples/cis-alarms/versions.tf +++ b/examples/cis-alarms/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } } } diff --git a/examples/complete-log-metric-filter-and-alarm/README.md b/examples/complete-log-metric-filter-and-alarm/README.md index fb03293..978902e 100644 --- a/examples/complete-log-metric-filter-and-alarm/README.md +++ b/examples/complete-log-metric-filter-and-alarm/README.md @@ -20,7 +20,7 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.0 | +| [aws](#requirement\_aws) | >= 5.30 | ## Providers diff --git a/examples/complete-log-metric-filter-and-alarm/versions.tf b/examples/complete-log-metric-filter-and-alarm/versions.tf index d8dd1a4..22111ba 100644 --- a/examples/complete-log-metric-filter-and-alarm/versions.tf +++ b/examples/complete-log-metric-filter-and-alarm/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.30" } } } diff --git a/examples/fixtures/aws_cloudwatch_log_group/versions.tf b/examples/fixtures/aws_cloudwatch_log_group/versions.tf index 6834112..3836522 100644 --- a/examples/fixtures/aws_cloudwatch_log_group/versions.tf +++ b/examples/fixtures/aws_cloudwatch_log_group/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } random = { diff --git a/examples/fixtures/aws_kms_key/versions.tf b/examples/fixtures/aws_kms_key/versions.tf index 6834112..3836522 100644 --- a/examples/fixtures/aws_kms_key/versions.tf +++ b/examples/fixtures/aws_kms_key/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } random = { diff --git a/examples/fixtures/aws_lambda_function/versions.tf b/examples/fixtures/aws_lambda_function/versions.tf index 143730d..92cb1f1 100644 --- a/examples/fixtures/aws_lambda_function/versions.tf +++ b/examples/fixtures/aws_lambda_function/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } random = { diff --git a/examples/fixtures/aws_sns_topic/versions.tf b/examples/fixtures/aws_sns_topic/versions.tf index 6834112..3836522 100644 --- a/examples/fixtures/aws_sns_topic/versions.tf +++ b/examples/fixtures/aws_sns_topic/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } random = { diff --git a/examples/lambda-metric-alarm/README.md b/examples/lambda-metric-alarm/README.md index a4892fc..c9fa7de 100644 --- a/examples/lambda-metric-alarm/README.md +++ b/examples/lambda-metric-alarm/README.md @@ -20,7 +20,7 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.0 | +| [aws](#requirement\_aws) | >= 5.0 | ## Providers diff --git a/examples/lambda-metric-alarm/versions.tf b/examples/lambda-metric-alarm/versions.tf index d8dd1a4..ddfcb0e 100644 --- a/examples/lambda-metric-alarm/versions.tf +++ b/examples/lambda-metric-alarm/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } } } diff --git a/examples/log-group-with-log-stream/README.md b/examples/log-group-with-log-stream/README.md index 0b323ac..04d6c96 100644 --- a/examples/log-group-with-log-stream/README.md +++ b/examples/log-group-with-log-stream/README.md @@ -20,7 +20,7 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.0 | +| [aws](#requirement\_aws) | >= 5.30 | ## Providers diff --git a/examples/log-group-with-log-stream/main.tf b/examples/log-group-with-log-stream/main.tf index 4b2d3b5..7721a60 100644 --- a/examples/log-group-with-log-stream/main.tf +++ b/examples/log-group-with-log-stream/main.tf @@ -28,6 +28,7 @@ module "log_group_wrapped" { "two" = { name_prefix = "my-log-group-wrapper2-" retention_in_days = 14 + log_group_class = "INFREQUENT_ACCESS" } } diff --git a/examples/log-group-with-log-stream/versions.tf b/examples/log-group-with-log-stream/versions.tf index d8dd1a4..22111ba 100644 --- a/examples/log-group-with-log-stream/versions.tf +++ b/examples/log-group-with-log-stream/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.30" } } } diff --git a/examples/multiple-lambda-metric-alarm/README.md b/examples/multiple-lambda-metric-alarm/README.md index 48267b0..13811ae 100644 --- a/examples/multiple-lambda-metric-alarm/README.md +++ b/examples/multiple-lambda-metric-alarm/README.md @@ -20,7 +20,7 @@ Note that this example may create resources which cost money. Run `terraform des | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.0 | +| [aws](#requirement\_aws) | >= 5.0 | ## Providers diff --git a/examples/multiple-lambda-metric-alarm/versions.tf b/examples/multiple-lambda-metric-alarm/versions.tf index d8dd1a4..ddfcb0e 100644 --- a/examples/multiple-lambda-metric-alarm/versions.tf +++ b/examples/multiple-lambda-metric-alarm/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } } } diff --git a/modules/cis-alarms/README.md b/modules/cis-alarms/README.md index c960984..e179832 100644 --- a/modules/cis-alarms/README.md +++ b/modules/cis-alarms/README.md @@ -8,14 +8,14 @@ Read more about [CIS AWS Foundations Controls](https://docs.aws.amazon.com/secur | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.0 | +| [aws](#requirement\_aws) | >= 5.0 | | [random](#requirement\_random) | >= 2.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 4.0 | +| [aws](#provider\_aws) | >= 5.0 | | [random](#provider\_random) | >= 2.0 | ## Modules diff --git a/modules/cis-alarms/versions.tf b/modules/cis-alarms/versions.tf index 6834112..3836522 100644 --- a/modules/cis-alarms/versions.tf +++ b/modules/cis-alarms/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } random = { diff --git a/modules/log-group/README.md b/modules/log-group/README.md index 3aeb86e..b5ffe44 100644 --- a/modules/log-group/README.md +++ b/modules/log-group/README.md @@ -6,13 +6,13 @@ | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.0 | +| [aws](#requirement\_aws) | >= 5.30 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 4.0 | +| [aws](#provider\_aws) | >= 5.30 | ## Modules @@ -30,6 +30,7 @@ No modules. |------|-------------|------|---------|:--------:| | [create](#input\_create) | Whether to create the Cloudwatch log group | `bool` | `true` | no | | [kms\_key\_id](#input\_kms\_key\_id) | The ARN of the KMS Key to use when encrypting logs | `string` | `null` | no | +| [log\_group\_class](#input\_log\_group\_class) | Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT\_ACCESS | `string` | `null` | no | | [name](#input\_name) | A name for the log group | `string` | `null` | no | | [name\_prefix](#input\_name\_prefix) | A name prefix for the log group | `string` | `null` | no | | [retention\_in\_days](#input\_retention\_in\_days) | Specifies the number of days you want to retain log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `null` | no | diff --git a/modules/log-group/main.tf b/modules/log-group/main.tf index a776539..d595936 100644 --- a/modules/log-group/main.tf +++ b/modules/log-group/main.tf @@ -5,6 +5,7 @@ resource "aws_cloudwatch_log_group" "this" { name_prefix = var.name_prefix retention_in_days = var.retention_in_days kms_key_id = var.kms_key_id + log_group_class = var.log_group_class tags = var.tags } diff --git a/modules/log-group/variables.tf b/modules/log-group/variables.tf index 58608f2..dc5f47b 100644 --- a/modules/log-group/variables.tf +++ b/modules/log-group/variables.tf @@ -33,6 +33,12 @@ variable "kms_key_id" { default = null } +variable "log_group_class" { + description = "Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS" + type = string + default = null +} + variable "tags" { description = "A map of tags to add to Cloudwatch log group" type = map(string) diff --git a/modules/log-group/versions.tf b/modules/log-group/versions.tf index d8dd1a4..22111ba 100644 --- a/modules/log-group/versions.tf +++ b/modules/log-group/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.30" } } } diff --git a/modules/log-metric-filter/README.md b/modules/log-metric-filter/README.md index 19d8ac7..c39bea7 100644 --- a/modules/log-metric-filter/README.md +++ b/modules/log-metric-filter/README.md @@ -6,13 +6,13 @@ | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.0 | +| [aws](#requirement\_aws) | >= 5.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 4.0 | +| [aws](#provider\_aws) | >= 5.0 | ## Modules diff --git a/modules/log-metric-filter/versions.tf b/modules/log-metric-filter/versions.tf index d8dd1a4..ddfcb0e 100644 --- a/modules/log-metric-filter/versions.tf +++ b/modules/log-metric-filter/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } } } diff --git a/modules/log-stream/README.md b/modules/log-stream/README.md index a7a7791..69678cb 100644 --- a/modules/log-stream/README.md +++ b/modules/log-stream/README.md @@ -6,13 +6,13 @@ | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.0 | +| [aws](#requirement\_aws) | >= 5.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 4.0 | +| [aws](#provider\_aws) | >= 5.0 | ## Modules diff --git a/modules/log-stream/versions.tf b/modules/log-stream/versions.tf index d8dd1a4..ddfcb0e 100644 --- a/modules/log-stream/versions.tf +++ b/modules/log-stream/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.0" + version = ">= 5.0" } } } diff --git a/modules/metric-alarm/README.md b/modules/metric-alarm/README.md index 80d052f..ae54947 100644 --- a/modules/metric-alarm/README.md +++ b/modules/metric-alarm/README.md @@ -6,13 +6,13 @@ | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.59 | +| [aws](#requirement\_aws) | >= 5.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 4.59 | +| [aws](#provider\_aws) | >= 5.0 | ## Modules diff --git a/modules/metric-alarm/versions.tf b/modules/metric-alarm/versions.tf index 33eb30c..ddfcb0e 100644 --- a/modules/metric-alarm/versions.tf +++ b/modules/metric-alarm/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.59" + version = ">= 5.0" } } } diff --git a/modules/metric-alarms-by-multiple-dimensions/README.md b/modules/metric-alarms-by-multiple-dimensions/README.md index 55ca26d..0156411 100644 --- a/modules/metric-alarms-by-multiple-dimensions/README.md +++ b/modules/metric-alarms-by-multiple-dimensions/README.md @@ -6,13 +6,13 @@ | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 4.59 | +| [aws](#requirement\_aws) | >= 5.0 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 4.59 | +| [aws](#provider\_aws) | >= 5.0 | ## Modules diff --git a/modules/metric-alarms-by-multiple-dimensions/versions.tf b/modules/metric-alarms-by-multiple-dimensions/versions.tf index 33eb30c..ddfcb0e 100644 --- a/modules/metric-alarms-by-multiple-dimensions/versions.tf +++ b/modules/metric-alarms-by-multiple-dimensions/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 4.59" + version = ">= 5.0" } } } diff --git a/wrappers/log-group/main.tf b/wrappers/log-group/main.tf index 1751f98..8ed6fa8 100644 --- a/wrappers/log-group/main.tf +++ b/wrappers/log-group/main.tf @@ -8,5 +8,6 @@ module "wrapper" { name_prefix = try(each.value.name_prefix, var.defaults.name_prefix, null) retention_in_days = try(each.value.retention_in_days, var.defaults.retention_in_days, null) kms_key_id = try(each.value.kms_key_id, var.defaults.kms_key_id, null) + log_group_class = try(each.value.log_group_class, var.defaults.log_group_class, null) tags = try(each.value.tags, var.defaults.tags, {}) } From e3ca687a132bbd22d23fdd4da5f55fc317df38ba Mon Sep 17 00:00:00 2001 From: magreenbaum Date: Mon, 11 Dec 2023 18:31:23 -0500 Subject: [PATCH 2/2] ci fix --- wrappers/log-metric-filter/main.tf | 1 + 1 file changed, 1 insertion(+) diff --git a/wrappers/log-metric-filter/main.tf b/wrappers/log-metric-filter/main.tf index d3392e8..3c2331b 100644 --- a/wrappers/log-metric-filter/main.tf +++ b/wrappers/log-metric-filter/main.tf @@ -12,4 +12,5 @@ module "wrapper" { metric_transformation_value = try(each.value.metric_transformation_value, var.defaults.metric_transformation_value, "1") metric_transformation_default_value = try(each.value.metric_transformation_default_value, var.defaults.metric_transformation_default_value, null) metric_transformation_unit = try(each.value.metric_transformation_unit, var.defaults.metric_transformation_unit, null) + metric_transformation_dimensions = try(each.value.metric_transformation_dimensions, var.defaults.metric_transformation_dimensions, {}) }