Skip to content

Commit 242eac3

Browse files
Merge pull request #258 from SumoLogic/sumo_267503_v1
Updated the AWS provider version, upgraded to Go 1.24, and enhanced the Terratest cases.
2 parents f2a0049 + a9f3809 commit 242eac3

File tree

18 files changed

+509
-1201
lines changed

18 files changed

+509
-1201
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ terraform
134134
terraform.tfstate
135135
terraform.tfstate.backup
136136
.terraform.lock.hcl
137+
.test-data
137138
aws-observability-terraform/test/*/test_output
138139
aws-observability-terraform/test/*/test_output.log
139140
aws-observability-terraform/**/.terraform

aws-observability-terraform/examples/appmodule/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.16.2, < 6.0.0"
7+
version = ">= 5.16.2, < 7.0.0"
88
}
99
sumologic = {
1010
version = ">= 2.31.3, < 4.0.0"

aws-observability-terraform/examples/sourcemodule/overrideSources/main.tf

Lines changed: 86 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ module "collection-module" {
1212

1313
sumologic_existing_collector_details = {
1414
create_collector = var.create_collector
15-
collector_id = var.collector_id
15+
collector_id = var.collector_id
1616
}
1717

1818
# ALB logs
@@ -23,10 +23,10 @@ module "collection-module" {
2323
source_category = "aws/observability/alb/logs"
2424
description = "This source is created using the Sumo Logic terraform AWS Observability module to collect AWS ELB logs."
2525
bucket_details = {
26-
create_bucket = var.create_s3_bucket
27-
bucket_name = var.s3_name
28-
path_expression = "AWSLog"
29-
force_destroy_bucket = false
26+
create_bucket = var.create_s3_bucket
27+
bucket_name = var.s3_name
28+
path_expression = "AWSLog"
29+
force_destroy_bucket = false
3030
}
3131
fields = {}
3232
}
@@ -35,106 +35,107 @@ module "collection-module" {
3535
# classic_lb_log_source_url = "https://api.sumologic.com/api/v1/collectors/185689129/sources/916197188"
3636
collect_classic_lb_logs = var.collect_classic_lb
3737
classic_lb_source_details = {
38-
source_name = "Classic lb Logs us-east-1"
39-
source_category = "aws/observability/clb/logs"
40-
description = "This source is created using Sumo Logic terraform AWS Observability module to collect AWS Classic LoadBalancer logs."
41-
bucket_details = {
38+
source_name = "Classic lb Logs us-east-1"
39+
source_category = "aws/observability/clb/logs"
40+
description = "This source is created using Sumo Logic terraform AWS Observability module to collect AWS Classic LoadBalancer logs."
41+
bucket_details = {
4242
create_bucket = var.create_s3_bucket
4343
bucket_name = var.s3_name
4444
path_expression = "AWSLog"
4545
force_destroy_bucket = false
46+
}
47+
fields = {}
4648
}
47-
fields = {}
48-
}
4949

5050
# CW logs
5151
# logs_source_url = "https://api.sumologic.com/api/v1/collectors/185689129/sources/915277706"
5252
collect_cloudwatch_logs = var.collect_logs_cloudwatch
5353
cloudwatch_logs_source_details = {
54-
"bucket_details": {
55-
"bucket_name": var.s3_name,
56-
"create_bucket": var.create_s3_bucket,
57-
"force_destroy_bucket": true
58-
},
59-
"lambda_log_forwarder_config": {
60-
"email_id": "[email protected]",
61-
"include_log_group_info": true,
62-
"log_format": "Others",
63-
"log_stream_prefix": [],
64-
"workers": 4
65-
},
66-
"description": "This source is created using Sumo Logic terraform AWS Observability module to collect AWS Cloudwatch Logs.",
67-
"fields": {},
68-
"source_category": "aws/observability/cloudwatch/logs",
69-
"source_name": "CloudWatch Logs (Region)"
70-
}
71-
54+
"bucket_details" : {
55+
"bucket_name" : var.s3_name,
56+
"create_bucket" : var.create_s3_bucket,
57+
"force_destroy_bucket" : true
58+
},
59+
"lambda_log_forwarder_config" : {
60+
"email_id" : "[email protected]",
61+
"include_log_group_info" : true,
62+
"log_format" : "Others",
63+
"log_stream_prefix" : [],
64+
"workers" : 4
65+
},
66+
"description" : "This source is created using Sumo Logic terraform AWS Observability module to collect AWS Cloudwatch Logs.",
67+
"fields" : {},
68+
"source_category" : "aws/observability/cloudwatch/logs",
69+
"source_name" : "CloudWatch Logs (Region)"
70+
}
71+
7272
# Enable Collection of Cloudtrail logs
73-
collect_cloudtrail_logs = var.collect_cloudtrail
73+
collect_cloudtrail_logs = var.collect_cloudtrail
7474
cloudtrail_source_details = {
75-
source_name = "CloudTrail Logs us-east-1"
76-
source_category = "aws/observability/cloudtrail/logs"
77-
description = "This source is created using Sumo Logic terraform AWS Observability module to collect AWS cloudtrail logs."
78-
bucket_details = {
75+
source_name = "CloudTrail Logs us-east-1"
76+
source_category = "aws/observability/cloudtrail/logs"
77+
description = "This source is created using Sumo Logic terraform AWS Observability module to collect AWS cloudtrail logs."
78+
bucket_details = {
7979
create_bucket = var.create_s3_bucket
8080
bucket_name = var.s3_name
8181
path_expression = "*AWSLog/*/CloudTrail/*/*"
8282
force_destroy_bucket = false
83+
}
84+
fields = {}
8385
}
84-
fields = {}
85-
}
8686

8787
# Collect CW metrics
8888
collect_cloudwatch_metrics = var.collect_metric_cloudwatch
8989
cloudwatch_metrics_source_details = {
90-
"bucket_details": {
91-
"bucket_name": var.s3_name,
92-
"create_bucket": var.create_s3_bucket,
93-
"force_destroy_bucket": true
94-
},
95-
"description": "This source is created using Sumo Logic terraform AWS Observability module to collect AWS Cloudwatch metrics.",
96-
"fields": {},
97-
"tag_filters" : [],
98-
"limit_to_namespaces": [
99-
"AWS/ApiGateway",
100-
"AWS/ApplicationELB",
101-
"AWS/AppStream",
102-
"AWS/CloudFront",
103-
"AWS/DMS",
104-
"AWS/DX",
105-
"AWS/DynamoDB",
106-
"AWS/EBS",
107-
"AWS/EC2",
108-
"AWS/EC2Spot",
109-
"AWS/EFS",
110-
"AWS/ElastiCache",
111-
"AWS/ElasticBeanstalk",
112-
"AWS/ElasticMapReduce",
113-
"AWS/ELB",
114-
"AWS/ECS",
115-
"AWS/Firehose",
116-
"AWS/Inspector",
117-
"AWS/Kinesis",
118-
"AWS/KinesisAnalytics",
119-
"AWS/KinesisVideo",
120-
"AWS/KMS",
121-
"AWS/Lambda",
122-
"AWS/Logs",
123-
"AWS/ML",
124-
"AWS/NATGateway",
125-
"AWS/NetworkELB",
126-
"AWS/OpsWorks",
127-
"AWS/RDS",
128-
"AWS/Redshift",
129-
"AWS/Route53",
130-
"AWS/S3",
131-
"AWS/SageMaker",
132-
"AWS/SQS",
133-
"AWS/StorageGateway",
134-
"AWS/VPN",
135-
"AWS/WorkSpaces"
90+
"bucket_details" : {
91+
"bucket_name" : var.s3_name,
92+
"create_bucket" : var.create_s3_bucket,
93+
"force_destroy_bucket" : true
94+
},
95+
"description" : "This source is created using Sumo Logic terraform AWS Observability module to collect AWS Cloudwatch metrics.",
96+
"fields" : {},
97+
"tag_filters" : [],
98+
"limit_to_namespaces" : [
99+
"AWS/ApiGateway",
100+
"AWS/ApplicationELB",
101+
"AWS/AppStream",
102+
"AWS/CloudFront",
103+
"AWS/DMS",
104+
"AWS/DX",
105+
"AWS/DynamoDB",
106+
"AWS/EBS",
107+
"AWS/EC2",
108+
"AWS/EC2Spot",
109+
"AWS/EFS",
110+
"AWS/ElastiCache",
111+
"AWS/ElasticBeanstalk",
112+
"AWS/ElasticMapReduce",
113+
"AWS/ELB",
114+
"AWS/ECS",
115+
"AWS/Firehose",
116+
"AWS/Inspector",
117+
"AWS/Kinesis",
118+
"AWS/KinesisAnalytics",
119+
"AWS/KinesisVideo",
120+
"AWS/KMS",
121+
"AWS/Lambda",
122+
"AWS/Logs",
123+
"AWS/ML",
124+
"AWS/NATGateway",
125+
"AWS/NetworkELB",
126+
"AWS/OpsWorks",
127+
"AWS/RDS",
128+
"AWS/Redshift",
129+
"AWS/Route53",
130+
"AWS/S3",
131+
"AWS/SageMaker",
132+
"AWS/SQS",
133+
"AWS/StorageGateway",
134+
"AWS/VPN",
135+
"AWS/WorkSpaces"
136136
],
137-
"source_category": "aws/observability/cloudwatch/metrics/us-east-1",
138-
"source_name": "CloudWatch Metrics us-east-1"
139-
}
137+
"source_category" : "aws/observability/cloudwatch/metrics/us-east-1",
138+
"source_name" : "CloudWatch Metrics us-east-1"
139+
}
140+
aws_resource_tags = var.aws_resource_tags
140141
}

aws-observability-terraform/examples/sourcemodule/overrideSources/output.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ output "kf_logs_auto_enable_stack" {
7878
output "kf_logs_stream" {
7979
value = "${var.collect_logs_cloudwatch == "Kinesis Firehose Log Source" ? module.collection-module.aws_kinesis_firehose_logs_delivery_stream.name : ""}"
8080
description = "This output contains Kinesis Firehose for logs stream Name."
81+
sensitive = true
8182
}
8283

8384
output "sumologic_cloudwatch_logs_source" {

aws-observability-terraform/examples/sourcemodule/overrideSources/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,4 +334,9 @@ variable "executeTest4" {
334334
type = bool
335335
description = "True - If you want to execute this TestCase"
336336
default = false
337+
}
338+
variable "aws_resource_tags" {
339+
description = "Map of tags to apply to all AWS resources provisioned through the test Source Module"
340+
type = map(string)
341+
default = {}
337342
}

aws-observability-terraform/examples/sourcemodule/overrideSources/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.16.2, < 6.0.0"
7+
version = ">= 5.16.2, < 7.0.0"
88
}
99
sumologic = {
1010
version = ">= 2.31.3, < 4.0.0"

aws-observability-terraform/examples/sourcemodule/testSource/main.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ module "collection-module" {
4848
"tag_filters": var.metrics_tag_filters
4949
"source_category": "aws/observability/cloudwatch/metrics/us-east-1",
5050
"source_name": "CloudWatch Metrics us-east-1"
51-
}
51+
}
52+
aws_resource_tags = var.aws_resource_tags
5253
# wait_for_seconds = "10"
5354
}

aws-observability-terraform/examples/sourcemodule/testSource/output.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ output "sumologic_kinesis_firehose_for_metrics_source" {
5858
output "kf_metrics_stream" {
5959
value = "${var.collect_metric_cloudwatch == "Kinesis Firehose Metrics Source" ? module.collection-module.aws_kinesis_firehose_metrics_delivery_stream.name : ""}"
6060
description = "This output contains Kinesis Firehose for metrics stream Name."
61+
sensitive = true
6162
}
6263

6364
output "cw_metrics_stream" {
@@ -83,6 +84,7 @@ output "kf_logs_auto_enable_stack" {
8384
output "kf_logs_stream" {
8485
value = "${var.collect_logs_cloudwatch == "Kinesis Firehose Log Source" ? module.collection-module.aws_kinesis_firehose_logs_delivery_stream.name : ""}"
8586
description = "This output contains Kinesis Firehose for logs stream Name."
87+
sensitive = true
8688
}
8789

8890
output "sumologic_cloudwatch_logs_source" {

aws-observability-terraform/examples/sourcemodule/testSource/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,4 +371,9 @@ variable "executeTest6" {
371371
type = bool
372372
description = "True - If you want to execute this TestCase"
373373
default = false
374+
}
375+
variable "aws_resource_tags" {
376+
description = "Map of tags to apply to all AWS resources provisioned through the test Source Module"
377+
type = map(string)
378+
default = {}
374379
}

aws-observability-terraform/examples/sourcemodule/testSource/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ terraform {
44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 5.16.2, < 6.0.0"
7+
version = ">= 5.16.2, < 7.0.0"
88
}
99
sumologic = {
1010
version = ">= 2.31.3, < 4.0.0"

0 commit comments

Comments
 (0)