From 5c6550453ed4ba34c3dd7df088039e55c152f4d1 Mon Sep 17 00:00:00 2001 From: Himanshu Sharma Date: Wed, 27 Mar 2024 18:51:29 +0530 Subject: [PATCH 1/7] Adding Api gateway monitors and metric rules --- .../app-modules/apigateway/app.tf | 229 ++++++++++++++++-- .../app-modules/apigateway/outputs.tf | 5 + .../app-modules/outputs.tf | 5 + 3 files changed, 215 insertions(+), 24 deletions(-) diff --git a/aws-observability-terraform/app-modules/apigateway/app.tf b/aws-observability-terraform/app-modules/apigateway/app.tf index 7c3fb8a9..04ad0709 100644 --- a/aws-observability-terraform/app-modules/apigateway/app.tf +++ b/aws-observability-terraform/app-modules/apigateway/app.tf @@ -17,26 +17,39 @@ module "apigateway_module" { } } + # ********************** Metric Rules ********************** # + managed_metric_rules = { + "ApiNameMetricRule" = { + metric_rule_name = "AwsObservabilityApiGatewayApiNameMetricsEntityRule" + match_expression = "Namespace=AWS/ApiGateway apiid=*" + sleep = 0 + variables_to_extract = [ + { + name = "apiname" + tagSequence = "$apiid._1" + } + ] + } + } + # ********************** Monitors ********************** # managed_monitors = { - "AWSAPIGatewayHigh5XXErrors" = { - monitor_name = "AWS API Gateway - High 5XX Errors" - monitor_description = "This alert fires where there are too many HTTP requests (>5%) with a response status of 5xx within an interval of 5 minutes." + "AWSAPIGatewayServerSideErrors" = { + monitor_name = "AWS API Gateway - High Server-Side Errors" + monitor_description = "This alert fires where there are too many API requests (>5%) with server-side errors within 5 minutes. This can be caused by 5xx errors from your integration, permission issues, or other factors preventing successful invocation of the integration, such as the integration being throttled or deleted." monitor_monitor_type = "Metrics" monitor_parent_id = var.monitor_folder_id monitor_is_disabled = var.monitors_disabled monitor_evaluation_delay = "4m" queries = { - A = "Namespace=aws/apigateway metric=5xxError Statistic=Sum account=* region=* apiname=* | sum by apiname, account, region, namespace" - B = "Namespace=aws/apigateway metric=count Statistic=Sum account=* region=* apiname=* | sum by apiname, account, region, namespace" - C = "#A * 100 / #B along account, region, namespace" + A = "Namespace=aws/apigateway (metric=5XX or metric=5xxError or metric=ExecutionError) Statistic=Average account=* region=* apiname=* stage=* !(route=*) !(resource=*) | avg by apiname, namespace, region, account, stage" } triggers = [ { detection_method = "StaticCondition", time_range = "-5m", trigger_type = "Critical", - threshold = 5, + threshold = 0.05, threshold_type = "GreaterThanOrEqual", occurrence_type = "Always", trigger_source = "AnyTimeSeries" @@ -45,7 +58,7 @@ module "apigateway_module" { detection_method = "StaticCondition", time_range = "-5m", trigger_type = "ResolvedCritical", - threshold = 5, + threshold = 0.05, threshold_type = "LessThan", occurrence_type = "Always", trigger_source = "AnyTimeSeries" @@ -55,24 +68,22 @@ module "apigateway_module" { connection_notifications = var.connection_notifications email_notifications = var.email_notifications }, - "AWSAPIGatewayHigh4XXErrors" = { - monitor_name = "AWS API Gateway - High 4XX Errors" - monitor_description = "This alert fires where there are too many HTTP requests (>5%) with a response status of 4xx within an interval of 5 minutes." + "AWSAPIGatewayHighClientSideErrors" = { + monitor_name = "AWS API Gateway - High Client-Side Errors" + monitor_description = "This alert fires where there are too many API requests (>5%) with client-side errors within 5 minutes. This can indicate an issue in the authorisation or client request parameters. It could also mean that a resource was removed or a client is requesting one that doesn't exist.Errors could also be caused by exceeding the configured throttling limit." monitor_monitor_type = "Metrics" monitor_parent_id = var.monitor_folder_id monitor_is_disabled = var.monitors_disabled monitor_evaluation_delay = "4m" queries = { - A = "Namespace=aws/apigateway metric=4xxError Statistic=Sum account=* region=* apiname=* | sum by apiname, account, region, namespace" - B = "Namespace=aws/apigateway metric=count Statistic=Sum account=* region=* apiname=* | sum by apiname, account, region, namespace" - C = "#A * 100 / #B along apiname, account, region, namespace" + A = "Namespace=aws/apigateway (metric=4XX or metric=4xxError or metric=ClientError) Statistic=Average account=* region=* apiname=* stage=* !(route=*) !(resource=*) | avg by apiname, namespace, region, account, stage" } triggers = [ { detection_method = "StaticCondition", time_range = "-5m", trigger_type = "Critical", - threshold = 5, + threshold = 0.05, threshold_type = "GreaterThanOrEqual", occurrence_type = "Always", trigger_source = "AnyTimeSeries" @@ -81,7 +92,7 @@ module "apigateway_module" { detection_method = "StaticCondition", time_range = "-5m", trigger_type = "ResolvedCritical", - threshold = 5, + threshold = 0.05, threshold_type = "LessThan", occurrence_type = "Always", trigger_source = "AnyTimeSeries" @@ -93,20 +104,20 @@ module "apigateway_module" { }, "AWSAPIGatewayHighIntegrationLatency" = { monitor_name = "AWS API Gateway - High Integration Latency" - monitor_description = "This alert fires when we detect that the average integration latency for a given API Gateway is greater than or equal to one second for 5 minutes." + monitor_description = "This alert fires when we detect the high integration latency for the API requests in a stage within 5 minutes. This alarm is recommended for WebSocket APIs by AWS, and optional for other APIs because they already have separate alarm recommendations for the Latency metric. You can correlate the IntegrationLatency metric value with the corresponding latency metric of your backend such as the Duration metric for Lambda integrations. This helps you determine whether the API backend is taking more time to process requests from clients due to performance issues or if there is some other overhead from initialization or cold start." monitor_monitor_type = "Metrics" monitor_parent_id = var.monitor_folder_id monitor_is_disabled = var.monitors_disabled monitor_evaluation_delay = "4m" queries = { - A = "Namespace=aws/apigateway metric=IntegrationLatency statistic=Average account=* region=* apiname=* | avg by apiname, namespace, region, account" + A = "account=* region=* Namespace=aws/apigateway metric=IntegrationLatency statistic=p90 apiname=* stage=* !(route=*) !(resource=*) | avg by apiname, namespace, region, account, stage" } triggers = [ { detection_method = "StaticCondition", time_range = "-5m", trigger_type = "Critical", - threshold = 1000, + threshold = 2000, threshold_type = "GreaterThanOrEqual", occurrence_type = "Always", trigger_source = "AnyTimeSeries" @@ -115,7 +126,7 @@ module "apigateway_module" { detection_method = "StaticCondition", time_range = "-5m", trigger_type = "ResolvedCritical", - threshold = 1000, + threshold = 2000, threshold_type = "LessThan", occurrence_type = "Always", trigger_source = "AnyTimeSeries" @@ -127,20 +138,20 @@ module "apigateway_module" { }, "AWSAPIGatewayHighLatency" = { monitor_name = "AWS API Gateway - High Latency" - monitor_description = "This alert fires when we detect that the average latency for a given API Gateway is greater than or equal to one second for 5 minutes." + monitor_description = "This alert fires when we detect the high Latency in a stage within 5 minutes for REST and HTTP API. Find the IntegrationLatency metric value to check the API backend latency. If the two metrics are mostly aligned, the API backend is the source of higher latency and you should investigate there for issues. View this metric per resource and method and narrow down the source of the latency." monitor_monitor_type = "Metrics" monitor_parent_id = var.monitor_folder_id monitor_is_disabled = var.monitors_disabled monitor_evaluation_delay = "4m" queries = { - A = "Namespace=aws/apigateway metric=Latency statistic=Average account=* region=* apiname=* | avg by apiname, namespace, region, account" + A = "account=* region=* Namespace=aws/apigateway metric=Latency statistic=p90 apiname=* stage=* !(route=*) !(resource=*) | avg by apiname, namespace, region, account, stage" } triggers = [ { detection_method = "StaticCondition", time_range = "-5m", trigger_type = "Critical", - threshold = 1000, + threshold = 2500, threshold_type = "GreaterThanOrEqual", occurrence_type = "Always", trigger_source = "AnyTimeSeries" @@ -149,7 +160,7 @@ module "apigateway_module" { detection_method = "StaticCondition", time_range = "-5m", trigger_type = "ResolvedCritical", - threshold = 1000, + threshold = 2500, threshold_type = "LessThan", occurrence_type = "Always", trigger_source = "AnyTimeSeries" @@ -158,6 +169,176 @@ module "apigateway_module" { group_notifications = var.group_notifications connection_notifications = var.connection_notifications email_notifications = var.email_notifications + }, + "AWSAPIGatewayHighAuthorizerErrors" = { + monitor_name = "AWS API Gateway - High Authorizer Errors" + monitor_description = "This alert fires where there are too many API requests (>5%) with authorizer errors within 5 minutes." + monitor_monitor_type = "Logs" + monitor_parent_id = var.monitor_folder_id + monitor_is_disabled = var.monitors_disabled + monitor_evaluation_delay = "0m" + queries = { + A = "account=* region=* namespace=aws/apigateway apiname=* apiid stage domainname requestId authorizerError\n| json \"status\", \"authorizerError\", \"apiid\", \"stage\" as status, authorizerError, apiid, stage \n| if (!(authorizerError matches \"-\") and !(status matches \"2*\"), 1, 0) as is_authorizerError \n| sum(is_authorizerError) as is_authorizerError_count, count as totalRequests by apiid, stage \n| (is_authorizerError_count*100/totalRequests) as authorizerError_percent \n| fields authorizerError_percent, apiid, stage" + } + triggers = [ + { + detection_method = "StaticCondition", + time_range = "-5m", + trigger_type = "Critical", + threshold = 5, + threshold_type = "GreaterThan", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + }, + { + detection_method = "StaticCondition", + time_range = "-5m", + trigger_type = "ResolvedCritical", + threshold = 5, + threshold_type = "LessThanOrEqual", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + } + ] + group_notifications = var.group_notifications + connection_notifications = var.connection_notifications + email_notifications = var.email_notifications + }, + "AWSAPIGatewayHighIntegrationErrors" = { + monitor_name = "AWS API Gateway - High Integration Errors" + monitor_description = "This alert fires where there are too many API requests (>5%) with integration errors within 5 minutes." + monitor_monitor_type = "Logs" + monitor_parent_id = var.monitor_folder_id + monitor_is_disabled = var.monitors_disabled + monitor_evaluation_delay = "0m" + queries = { + A = "account=* region=* namespace=aws/apigateway apiname=* apiid stage domainname requestId integrationError\n| json \"status\", \"integrationError\", \"apiid\", \"stage\" as status, integrationError, apiid, stage \n| if (!(integrationError matches \"-\") and !(status matches \"2*\"), 1, 0) as is_integrationError \n| sum(is_integrationError) as integrationError_count, count as totalRequests by apiid, stage \n| (integrationError_count*100/totalRequests) as integrationError_percent \n| fields integrationError_percent, apiid, stage" + } + triggers = [ + { + detection_method = "StaticCondition", + time_range = "-5m", + trigger_type = "Critical", + threshold = 5, + threshold_type = "GreaterThan", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + }, + { + detection_method = "StaticCondition", + time_range = "-5m", + trigger_type = "ResolvedCritical", + threshold = 5, + threshold_type = "LessThanOrEqual", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + } + ] + group_notifications = var.group_notifications + connection_notifications = var.connection_notifications + email_notifications = var.email_notifications + }, + "AWSAPIGatewayHighWAFErrors" = { + monitor_name = "AWS API Gateway - High WAF Errors" + monitor_description = "This alert fires where there are too many API requests (>5%) with WAF errors within 5 minutes." + monitor_monitor_type = "Logs" + monitor_parent_id = var.monitor_folder_id + monitor_is_disabled = var.monitors_disabled + monitor_evaluation_delay = "0m" + queries = { + A = "account=* region=* namespace=aws/apigateway apiname=* apiid stage domainname requestId \n| json \"status\", \"apiid\", \"stage\", \"wafResponseCode\" as status, apiid, stage, wafResponseCode \n| if (wafResponseCode==\"WAF_BLOCK\" and !(status matches \"2*\"), 1, 0) as is_wafError \n| sum(is_wafError) as is_wafError_count, count as totalRequests by apiid, stage \n| (is_wafError_count*100/totalRequests) as wafError_percent \n| fields wafError_percent, apiid, stage" + } + triggers = [ + { + detection_method = "StaticCondition", + time_range = "-5m", + trigger_type = "Critical", + threshold = 5, + threshold_type = "GreaterThan", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + }, + { + detection_method = "StaticCondition", + time_range = "-5m", + trigger_type = "ResolvedCritical", + threshold = 5, + threshold_type = "LessThanOrEqual", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + } + ] + group_notifications = var.group_notifications + connection_notifications = var.connection_notifications + email_notifications = var.email_notifications + }, + "AWSAPIGatewayHighWAFLatency" = { + monitor_name = "AWS API Gateway - High WAF Latency" + monitor_description = "This alert fires when we detect the high WAF latency for the REST and WebSocket API requests in a stage within 5 minutes." + monitor_monitor_type = "Logs" + monitor_parent_id = var.monitor_folder_id + monitor_is_disabled = var.monitors_disabled + monitor_evaluation_delay = "0m" + queries = { + A = "account=* region=* namespace=* apiname=* apiid stage domainname requestId wafLatency \n| json \"wafLatency\", \"apiId\", \"stage\" as wafLatency, apiid, stage \n| pct(wafLatency, 90) as wafLatency90th by apiid,stage" + } + triggers = [ + { + detection_method = "StaticCondition", + time_range = "-5m", + trigger_type = "Critical", + threshold = 1000, + threshold_type = "GreaterThan", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + }, + { + detection_method = "StaticCondition", + time_range = "-5m", + trigger_type = "ResolvedCritical", + threshold = 1000, + threshold_type = "LessThanOrEqual", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + } + ] + group_notifications = var.group_notifications + connection_notifications = var.connection_notifications + email_notifications = var.email_notifications + }, + "AWSAPIGatewayLowTrafficAPI" = { + monitor_name = "AWS API Gateway - Low Traffic API" + monitor_description = "This alert fires where there is low message traffic volume for the API within 5 minutes. This can indicate an issue with the application calling the API such as using incorrect endpoints. It could also indicate an issue with the configuration or permissions of the API making it unreachable for clients. This alarm is not recommended for APIs that don't expect constant and consistent traffic." + monitor_monitor_type = "Metrics" + monitor_parent_id = var.monitor_folder_id + monitor_is_disabled = var.monitors_disabled + monitor_evaluation_delay = "4m" + queries = { + A = "Namespace=aws/apigateway (metric=ConnectCount OR metric=Count) statistic=SampleCount account=* region=* apiname=* stage=* !(route=*) !(resource=*) | quantize using sum | sum by apiname, namespace, region, account, stage" + } + triggers = [ + { + detection_method = "StaticCondition", + time_range = "-10m", + trigger_type = "Critical", + threshold = 1, + threshold_type = "LessThanOrEqual", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + }, + { + detection_method = "StaticCondition", + time_range = "-10m", + trigger_type = "ResolvedCritical", + threshold = 1, + threshold_type = "GreaterThan", + occurrence_type = "Always", + trigger_source = "AnyTimeSeries" + } + ] + group_notifications = var.group_notifications + connection_notifications = var.connection_notifications + email_notifications = var.email_notifications } } } \ No newline at end of file diff --git a/aws-observability-terraform/app-modules/apigateway/outputs.tf b/aws-observability-terraform/app-modules/apigateway/outputs.tf index b88d1ca0..73fb7c14 100644 --- a/aws-observability-terraform/app-modules/apigateway/outputs.tf +++ b/aws-observability-terraform/app-modules/apigateway/outputs.tf @@ -11,4 +11,9 @@ output "sumologic_field_extraction_rule" { output "sumologic_content" { value = module.apigateway_module.sumologic_content description = "This output contains apigateway App." +} + +output "sumologic_metric_rules" { + value = module.apigateway_module.sumologic_metric_rules + description = "This output contains metric rules required for nlb app." } \ No newline at end of file diff --git a/aws-observability-terraform/app-modules/outputs.tf b/aws-observability-terraform/app-modules/outputs.tf index 8337c83c..7a755d39 100644 --- a/aws-observability-terraform/app-modules/outputs.tf +++ b/aws-observability-terraform/app-modules/outputs.tf @@ -68,6 +68,11 @@ output "sumologic_content_apigateway" { description = "This output contains apigateway App." } +output "sumologic_metric_rules_api_gw" { + value = module.apigateway_app.sumologic_metric_rules + description = "This output contains metric rules required for api gateway app." +} + output "sumologic_field_ec2metrics" { value = module.ec2metrics_app.sumologic_field description = "This output contains fields required for EC2 Metrics app." From f281acc09b2d7b5607583a29c1813b6c84484479 Mon Sep 17 00:00:00 2001 From: Himanshu Sharma Date: Wed, 27 Mar 2024 18:56:55 +0530 Subject: [PATCH 2/7] Updating test suite --- .../examples/appmodule/field.tf | 48 +++++++++++++++---- .../examples/appmodule/output.tf | 18 +++++++ .../test/appmodule/validateSumo.go | 9 ++++ 3 files changed, 67 insertions(+), 8 deletions(-) diff --git a/aws-observability-terraform/examples/appmodule/field.tf b/aws-observability-terraform/examples/appmodule/field.tf index 0f60a4df..ffd1bc55 100644 --- a/aws-observability-terraform/examples/appmodule/field.tf +++ b/aws-observability-terraform/examples/appmodule/field.tf @@ -52,6 +52,13 @@ resource "sumologic_field" "apiname" { state = "Enabled" } +# Used in API gateway +resource "sumologic_field" "apiid" { + data_type = "String" + field_name = "apiid" + state = "Enabled" +} + # Used in DynamoDB resource "sumologic_field" "tablename" { data_type = "String" @@ -118,6 +125,7 @@ resource "sumologic_field" "topicname" { state = "Enabled" } +# Used in SQS resource "sumologic_field" "queuename" { data_type = "String" field_name = "queuename" @@ -155,6 +163,20 @@ resource "sumologic_field_extraction_rule" "AwsObservabilityApiGatewayCloudTrail enabled = true } +# API Gateway Access Logs FER +resource "sumologic_field_extraction_rule" "AwsObservabilityApiGatewayAccessLogsFER" { + depends_on = [time_sleep.wait_for_10_seconds] + name = "AwsObservabilityApiGatewayAccessLogsFER" + scope = "account=* region=* apiId domainName stage requestId status" + parse_expression = < Date: Wed, 27 Mar 2024 19:00:25 +0530 Subject: [PATCH 3/7] Adding and updating api gateway fields and fer --- aws-observability-terraform/field.tf | 32 +++++++++++++++++-- .../source-module/README.md | 2 +- .../source-module/local.tf | 2 +- .../source-module/variables.tf | 2 +- 4 files changed, 32 insertions(+), 6 deletions(-) diff --git a/aws-observability-terraform/field.tf b/aws-observability-terraform/field.tf index 19905eb6..ffd1bc55 100644 --- a/aws-observability-terraform/field.tf +++ b/aws-observability-terraform/field.tf @@ -52,6 +52,13 @@ resource "sumologic_field" "apiname" { state = "Enabled" } +# Used in API gateway +resource "sumologic_field" "apiid" { + data_type = "String" + field_name = "apiid" + state = "Enabled" +} + # Used in DynamoDB resource "sumologic_field" "tablename" { data_type = "String" @@ -156,6 +163,20 @@ resource "sumologic_field_extraction_rule" "AwsObservabilityApiGatewayCloudTrail enabled = true } +# API Gateway Access Logs FER +resource "sumologic_field_extraction_rule" "AwsObservabilityApiGatewayAccessLogsFER" { + depends_on = [time_sleep.wait_for_10_seconds] + name = "AwsObservabilityApiGatewayAccessLogsFER" + scope = "account=* region=* apiId domainName stage requestId status" + parse_expression = < [auto\_enable\_access\_logs](#input\_auto\_enable\_access\_logs) | Enable Application Load Balancer (ALB) Access logging.
You have the following options:
New - Automatically enables access logging for newly created ALB resources to collect logs for ALB resources. This does not affect ALB resources already collecting logs.
Existing - Automatically enables access logging for existing ALB resources to collect logs for ALB resources.
Both - Automatically enables access logging for new and existing ALB resources.
None - Skips Automatic access Logging enable for ALB resources. | `string` | `"Both"` | no | | [auto\_enable\_classic\_lb\_access\_logs](#input\_auto\_enable\_classic\_lb\_access\_logs) | Enable Classic Load Balancer (CLB) Access logging.
You have the following options:
New - Automatically enables access logging for newly created CLB resources to collect logs for CLB resources. This does not affect CLB resources already collecting logs.
Existing - Automatically enables access logging for existing CLB resources to collect logs for CLB resources.
Both - Automatically enables access logging for new and existing CLB resources.
None - Skips Automatic access Logging enable for CLB resources. | `string` | `"Both"` | no | | [auto\_enable\_logs\_subscription](#input\_auto\_enable\_logs\_subscription) | Subscribe log groups to Sumo Logic Lambda Forwarder.
You have the following options:
New - Automatically subscribes new log groups to send logs to Sumo Logic.
Existing - Automatically subscribes existing log groups to send logs to Sumo Logic.
Both - Automatically subscribes new and existing log groups.
None - Skips Automatic subscription. | `string` | `"Both"` | no | -| [auto\_enable\_logs\_subscription\_options](#input\_auto\_enable\_logs\_subscription\_options) | filter - Enter regex for matching CloudWatch Log groups name. Regex will check for the Log groups name. Visit https://help.sumologic.com/03Send-Data/Collect-from-Other-Data-Sources/Auto-Subscribe_AWS_Log_Groups_to_a_Lambda_Function#Configuring_parameters |
object({
filter = string
})
|
{
"filter": "lambda|rds"
}
| no | +| [auto\_enable\_logs\_subscription\_options](#input\_auto\_enable\_logs\_subscription\_options) | filter - Enter regex for matching CloudWatch Log groups name. Regex will check for the Log groups name. Visit https://help.sumologic.com/03Send-Data/Collect-from-Other-Data-Sources/Auto-Subscribe_AWS_Log_Groups_to_a_Lambda_Function#Configuring_parameters |
object({
filter = string
})
|
{
"filter": "apigateway|lambda|rds"
}
| no | | [aws\_account\_alias](#input\_aws\_account\_alias) | Provide the Name/Alias for the AWS environment from which you are collecting data. This name will appear in the Sumo Logic Explorer View, metrics, and logs.
Please leave this blank if you are going to deploy the solution in multiple AWS accounts.
Do not include special characters in the alias. | `string` | n/a | yes | | [classic\_lb\_log\_source\_url](#input\_classic\_lb\_log\_source\_url) | Required if you are already collecting Classic LB logs. Provide the existing Sumo Logic Classic LB Source API URL. The account, accountid, and region fields will be added to the Source. For information on how to determine the URL, see [View or Download Source JSON Configuration](https://help.sumologic.com/03Send-Data/Sources/03Use-JSON-to-Configure-Sources/Local-Configuration-File-Management/View-or-Download-Source-JSON-Configuration). | `string` | `""` | no | | [classic\_lb\_source\_details](#input\_classic\_lb\_source\_details) | Provide details for the Sumo Logic Classic Load Balancer source. If not provided, then defaults will be used.
To enable collection of classic load balancer logs, set collect\_classic\_lb\_logs to true and provide configuration information for the bucket.
If create\_bucket is false, provide a name of an existing S3 bucket where you would like to store loadbalancer logs. If this is empty, a new bucket will be created in the region.
If create\_bucket is true, the script creates a bucket, the name of the bucket has to be unique; this is achieved internally by generating a random-id and then post-fixing it to the “aws-observability-” string.
path\_expression - This is required in case the above existing bucket is already configured to receive Classic LB access logs. If this is blank, Sumo Logic will store logs in the path expression: *classicloadbalancing/AWSLogs/*/elasticloadbalancing/*/* |
object({
source_name = string
source_category = string
description = string
bucket_details = object({
create_bucket = bool
bucket_name = string
path_expression = string
force_destroy_bucket = bool
})
fields = map(string)
})
|
{
"bucket_details": {
"bucket_name": "aws-observability-random-id",
"create_bucket": true,
"force_destroy_bucket": true,
"path_expression": "*classicloadbalancing/AWSLogs//elasticloadbalancing//*"
},
"description": "This source is created using Sumo Logic terraform AWS Observability module to collect AWS Classic LoadBalancer logs.",
"fields": {},
"source_category": "aws/observability/clb/logs",
"source_name": "Classic lb Logs (Region)"
}
| no | diff --git a/aws-observability-terraform/source-module/local.tf b/aws-observability-terraform/source-module/local.tf index f2009211..ae93723a 100644 --- a/aws-observability-terraform/source-module/local.tf +++ b/aws-observability-terraform/source-module/local.tf @@ -43,7 +43,7 @@ locals { update_logs_source = var.collect_cloudwatch_logs == "None" ? false : (var.cloudwatch_logs_source_url == "" ? false : true) create_cw_logs_source = var.collect_cloudwatch_logs == "None" ? false : (local.update_logs_source ? false : true) cloudwatch_logs_source_name = var.cloudwatch_logs_source_details.source_name == "CloudWatch Logs (Region)" ? "CloudWatch Logs ${local.aws_region}" : var.cloudwatch_logs_source_details.source_name - cloudwatch_logs_fields = merge(var.cloudwatch_logs_source_details.fields, { account = var.aws_account_alias, region = local.aws_region, namespace = "aws/lambda", accountid = local.aws_account_id }) + cloudwatch_logs_fields = merge(var.cloudwatch_logs_source_details.fields, { account = var.aws_account_alias, region = local.aws_region, accountid = local.aws_account_id }) # Root Cause sources updated details create_inventory_source = var.collect_root_cause_data == "Inventory Source" || var.collect_root_cause_data == "Both" diff --git a/aws-observability-terraform/source-module/variables.tf b/aws-observability-terraform/source-module/variables.tf index 8a3a4ad0..d302ab2d 100644 --- a/aws-observability-terraform/source-module/variables.tf +++ b/aws-observability-terraform/source-module/variables.tf @@ -503,7 +503,7 @@ variable "auto_enable_logs_subscription_options" { filter - Enter regex for matching CloudWatch Log groups name. Regex will check for the Log groups name. Visit https://help.sumologic.com/03Send-Data/Collect-from-Other-Data-Sources/Auto-Subscribe_AWS_Log_Groups_to_a_Lambda_Function#Configuring_parameters EOT default = { - filter = "lambda|rds" + filter = "apigateway|lambda|rds" } } From 37f04238c15f6b346365943acc69971fad4a5ac1 Mon Sep 17 00:00:00 2001 From: Himanshu Sharma Date: Thu, 28 Mar 2024 15:03:57 +0530 Subject: [PATCH 4/7] Updating readme --- aws-observability-terraform/README.md | 6 ++++-- aws-observability-terraform/app-modules/README.md | 1 + .../app-modules/apigateway/README.md | 1 + .../examples/appmodule/README.md | 12 +++++++++--- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/aws-observability-terraform/README.md b/aws-observability-terraform/README.md index b9b4020f..9317d836 100644 --- a/aws-observability-terraform/README.md +++ b/aws-observability-terraform/README.md @@ -12,8 +12,8 @@ | Name | Version | |------|---------| -| [sumologic](#provider\_sumologic) | 2.26.0 | -| [time](#provider\_time) | 0.9.1 | +| [sumologic](#provider\_sumologic) | >= 2.14.0 | +| [time](#provider\_time) | >= 0.7.1 | ## Modules @@ -28,6 +28,7 @@ |------|------| | [sumologic_field.account](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.accountid](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | +| [sumologic_field.apiid](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.apiname](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.cacheclusterid](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.clustername](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | @@ -45,6 +46,7 @@ | [sumologic_field.tablename](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.topicname](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field_extraction_rule.AwsObservabilityAlbAccessLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | +| [sumologic_field_extraction_rule.AwsObservabilityApiGatewayAccessLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | | [sumologic_field_extraction_rule.AwsObservabilityApiGatewayCloudTrailLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | | [sumologic_field_extraction_rule.AwsObservabilityDynamoDBCloudTrailLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | | [sumologic_field_extraction_rule.AwsObservabilityEC2CloudTrailLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | diff --git a/aws-observability-terraform/app-modules/README.md b/aws-observability-terraform/app-modules/README.md index 1952710d..5d70f5d1 100644 --- a/aws-observability-terraform/app-modules/README.md +++ b/aws-observability-terraform/app-modules/README.md @@ -117,6 +117,7 @@ | [sumologic\_field\_sns](#output\_sumologic\_field\_sns) | This output contains fields required for sns app. | | [sumologic\_field\_sqs](#output\_sumologic\_field\_sqs) | This output contains fields required for sqs app. | | [sumologic\_hierarchy](#output\_sumologic\_hierarchy) | This output contains Sumologic Hierarchy. | +| [sumologic\_metric\_rules\_api\_gw](#output\_sumologic\_metric\_rules\_api\_gw) | This output contains metric rules required for api gateway app. | | [sumologic\_metric\_rules\_nlb](#output\_sumologic\_metric\_rules\_nlb) | This output contains metric rules required for nlb app. | | [sumologic\_metric\_rules\_rds](#output\_sumologic\_metric\_rules\_rds) | This output contains metric rules required for rds app. | | [sumologic\_monitors\_folder](#output\_sumologic\_monitors\_folder) | This output contains AWS Observability Monitors folder. | diff --git a/aws-observability-terraform/app-modules/apigateway/README.md b/aws-observability-terraform/app-modules/apigateway/README.md index 89dfca52..cb8310d5 100644 --- a/aws-observability-terraform/app-modules/apigateway/README.md +++ b/aws-observability-terraform/app-modules/apigateway/README.md @@ -38,3 +38,4 @@ No resources. | [sumologic\_content](#output\_sumologic\_content) | This output contains apigateway App. | | [sumologic\_field](#output\_sumologic\_field) | This output contains fields required for apigateway app. | | [sumologic\_field\_extraction\_rule](#output\_sumologic\_field\_extraction\_rule) | This output contains Field Extraction rules required for apigateway app. | +| [sumologic\_metric\_rules](#output\_sumologic\_metric\_rules) | This output contains metric rules required for nlb app. | diff --git a/aws-observability-terraform/examples/appmodule/README.md b/aws-observability-terraform/examples/appmodule/README.md index 1c672dce..655824ad 100644 --- a/aws-observability-terraform/examples/appmodule/README.md +++ b/aws-observability-terraform/examples/appmodule/README.md @@ -12,8 +12,8 @@ | Name | Version | |------|---------| -| [sumologic](#provider\_sumologic) | 2.16.2 | -| [time](#provider\_time) | 0.7.2 | +| [sumologic](#provider\_sumologic) | >= 2.13.0 | +| [time](#provider\_time) | >= 0.7.1 | ## Modules @@ -27,6 +27,7 @@ |------|------| | [sumologic_field.account](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.accountid](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | +| [sumologic_field.apiid](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.apiname](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.cacheclusterid](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.clustername](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | @@ -39,10 +40,12 @@ | [sumologic_field.loadbalancername](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.namespace](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.networkloadbalancer](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | +| [sumologic_field.queuename](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.region](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.tablename](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.topicname](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field_extraction_rule.AwsObservabilityAlbAccessLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | +| [sumologic_field_extraction_rule.AwsObservabilityApiGatewayAccessLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | | [sumologic_field_extraction_rule.AwsObservabilityApiGatewayCloudTrailLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | | [sumologic_field_extraction_rule.AwsObservabilityDynamoDBCloudTrailLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | | [sumologic_field_extraction_rule.AwsObservabilityEC2CloudTrailLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | @@ -99,6 +102,7 @@ | [sqs\_apps\_folder\_id](#output\_sqs\_apps\_folder\_id) | This output contains sumologic SQS apps folder. | | [sumologic\_field\_account](#output\_sumologic\_field\_account) | This output contains sumologic Account field id. | | [sumologic\_field\_accountid](#output\_sumologic\_field\_accountid) | This output contains sumologic accountid field id. | +| [sumologic\_field\_apiid](#output\_sumologic\_field\_apiid) | This output contains sumologic apiid field id. | | [sumologic\_field\_apiname](#output\_sumologic\_field\_apiname) | This output contains sumologic apiname field id. | | [sumologic\_field\_cacheclusterid](#output\_sumologic\_field\_cacheclusterid) | This output contains sumologic cacheclusterid field id. | | [sumologic\_field\_clustername](#output\_sumologic\_field\_clustername) | This output contains sumologic clustername field id. | @@ -107,6 +111,7 @@ | [sumologic\_field\_dbinstanceidentifier](#output\_sumologic\_field\_dbinstanceidentifier) | This output contains sumologic dbinstanceidentifier field id. | | [sumologic\_field\_extraction\_rule\_alb](#output\_sumologic\_field\_extraction\_rule\_alb) | This output contains sumologic ALB field extraction rule id. | | [sumologic\_field\_extraction\_rule\_apigateway](#output\_sumologic\_field\_extraction\_rule\_apigateway) | This output contains sumologic API gateway field extraction rule id. | +| [sumologic\_field\_extraction\_rule\_apigateway\_access\_logs](#output\_sumologic\_field\_extraction\_rule\_apigateway\_access\_logs) | This output contains sumologic API gateway Access Logs field extraction rule id. | | [sumologic\_field\_extraction\_rule\_cw](#output\_sumologic\_field\_extraction\_rule\_cw) | This output contains sumologic CloudWatch logs generic field extraction rule id. | | [sumologic\_field\_extraction\_rule\_dynamodb](#output\_sumologic\_field\_extraction\_rule\_dynamodb) | This output contains sumologic dynamoDB field extraction rule id. | | [sumologic\_field\_extraction\_rule\_ec2metrics](#output\_sumologic\_field\_extraction\_rule\_ec2metrics) | This output contains sumologic EC2 field extraction rule id. | @@ -124,10 +129,11 @@ | [sumologic\_field\_loadbalancername](#output\_sumologic\_field\_loadbalancername) | This output contains sumologic loadbalancername field id. | | [sumologic\_field\_namespace](#output\_sumologic\_field\_namespace) | This output contains sumologic namespace field id. | | [sumologic\_field\_networkloadbalancer](#output\_sumologic\_field\_networkloadbalancer) | This output contains sumologic networkloadbalancer field id. | +| [sumologic\_field\_queuename](#output\_sumologic\_field\_queuename) | This output contains sumologic queuename field id. | | [sumologic\_field\_region](#output\_sumologic\_field\_region) | This output contains sumologic Region field id. | | [sumologic\_field\_tablename](#output\_sumologic\_field\_tablename) | This output contains sumologic tablename field id. | | [sumologic\_field\_topicname](#output\_sumologic\_field\_topicname) | This output contains sumologic topicname field id. | -| [sumologic\_field\_queuename](#output\_sumologic\_field\_queuename) | This output contains sumologic queuename field id. | +| [sumologic\_metric\_rule\_api\_gw](#output\_sumologic\_metric\_rule\_api\_gw) | This output contains sumologic API Gateway metric rule name. | | [sumologic\_metric\_rule\_nlb](#output\_sumologic\_metric\_rule\_nlb) | This output contains sumologic NLB metric rule name. | | [sumologic\_metric\_rule\_rds\_cluster](#output\_sumologic\_metric\_rule\_rds\_cluster) | This output contains sumologic RDS cluster metric rule name. | | [sumologic\_metric\_rule\_rds\_instance](#output\_sumologic\_metric\_rule\_rds\_instance) | This output contains sumologic RDS instance metric rule name. | From 2217f288a51197a6938cba9f7c567e8970b52de3 Mon Sep 17 00:00:00 2001 From: Himanshu Sharma Date: Thu, 28 Mar 2024 19:22:00 +0530 Subject: [PATCH 5/7] updating sumo tf provider version in AWSO solution --- aws-observability-terraform/README.md | 6 +++--- aws-observability-terraform/app-modules/README.md | 4 ++-- aws-observability-terraform/app-modules/versions.tf | 2 +- aws-observability-terraform/examples/appmodule/README.md | 4 ++-- aws-observability-terraform/examples/appmodule/versions.tf | 2 +- .../examples/sourcemodule/overrideSources/README.md | 7 +++---- .../examples/sourcemodule/overrideSources/versions.tf | 2 +- .../examples/sourcemodule/testSource/README.md | 4 ++-- .../examples/sourcemodule/testSource/versions.tf | 2 +- aws-observability-terraform/source-module/README.md | 4 ++-- aws-observability-terraform/source-module/versions.tf | 2 +- aws-observability-terraform/versions.tf | 2 +- 12 files changed, 20 insertions(+), 21 deletions(-) diff --git a/aws-observability-terraform/README.md b/aws-observability-terraform/README.md index 9317d836..e277c52d 100644 --- a/aws-observability-terraform/README.md +++ b/aws-observability-terraform/README.md @@ -5,15 +5,15 @@ | [terraform](#requirement\_terraform) | >= 0.13.0 | | [aws](#requirement\_aws) | >= 5.16.2, < 6.0.0 | | [random](#requirement\_random) | >= 3.1.0 | -| [sumologic](#requirement\_sumologic) | >= 2.14.0 | +| [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#requirement\_time) | >= 0.7.1 | ## Providers | Name | Version | |------|---------| -| [sumologic](#provider\_sumologic) | >= 2.14.0 | -| [time](#provider\_time) | >= 0.7.1 | +| [sumologic](#provider\_sumologic) | 2.28.3 | +| [time](#provider\_time) | 0.11.1 | ## Modules diff --git a/aws-observability-terraform/app-modules/README.md b/aws-observability-terraform/app-modules/README.md index 5d70f5d1..5f6fd1ad 100644 --- a/aws-observability-terraform/app-modules/README.md +++ b/aws-observability-terraform/app-modules/README.md @@ -4,13 +4,13 @@ |------|---------| | [terraform](#requirement\_terraform) | >= 0.13.0 | | [null](#requirement\_null) | >= 2.1 | -| [sumologic](#requirement\_sumologic) | >= 2.14.0 | +| [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | ## Providers | Name | Version | |------|---------| -| [sumologic](#provider\_sumologic) | >= 2.14.0 | +| [sumologic](#provider\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#provider\_time) | n/a | ## Modules diff --git a/aws-observability-terraform/app-modules/versions.tf b/aws-observability-terraform/app-modules/versions.tf index 90ca28f5..104bf942 100644 --- a/aws-observability-terraform/app-modules/versions.tf +++ b/aws-observability-terraform/app-modules/versions.tf @@ -7,7 +7,7 @@ terraform { version = ">= 2.1" } sumologic = { - version = ">= 2.14.0" + version = ">= 2.28.3, < 3.0.0" source = "SumoLogic/sumologic" } } diff --git a/aws-observability-terraform/examples/appmodule/README.md b/aws-observability-terraform/examples/appmodule/README.md index 655824ad..9011c905 100644 --- a/aws-observability-terraform/examples/appmodule/README.md +++ b/aws-observability-terraform/examples/appmodule/README.md @@ -5,14 +5,14 @@ | [terraform](#requirement\_terraform) | >= 0.13.0 | | [aws](#requirement\_aws) | >= 3.42.0, < 4.0.0 | | [random](#requirement\_random) | >= 3.1.0 | -| [sumologic](#requirement\_sumologic) | >= 2.13.0 | +| [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#requirement\_time) | >= 0.7.1 | ## Providers | Name | Version | |------|---------| -| [sumologic](#provider\_sumologic) | >= 2.13.0 | +| [sumologic](#provider\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#provider\_time) | >= 0.7.1 | ## Modules diff --git a/aws-observability-terraform/examples/appmodule/versions.tf b/aws-observability-terraform/examples/appmodule/versions.tf index befb90d4..ae1b64ac 100644 --- a/aws-observability-terraform/examples/appmodule/versions.tf +++ b/aws-observability-terraform/examples/appmodule/versions.tf @@ -7,7 +7,7 @@ terraform { version = ">= 3.42.0, < 4.0.0" } sumologic = { - version = ">= 2.13.0" + version = ">= 2.28.3, < 3.0.0" source = "SumoLogic/sumologic" } time = { diff --git a/aws-observability-terraform/examples/sourcemodule/overrideSources/README.md b/aws-observability-terraform/examples/sourcemodule/overrideSources/README.md index 7b68a5f7..5fe234dd 100644 --- a/aws-observability-terraform/examples/sourcemodule/overrideSources/README.md +++ b/aws-observability-terraform/examples/sourcemodule/overrideSources/README.md @@ -5,14 +5,14 @@ | [terraform](#requirement\_terraform) | >= 0.13.0 | | [aws](#requirement\_aws) | >= 3.42.0, < 4.0.0 | | [random](#requirement\_random) | >= 3.1.0 | -| [sumologic](#requirement\_sumologic) | >= 2.13.0 | +| [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#requirement\_time) | >= 0.7.1 | ## Providers | Name | Version | |------|---------| -| [sumologic](#provider\_sumologic) | >= 2.13.0 | +| [sumologic](#provider\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#provider\_time) | >= 0.7.1 | ## Modules @@ -39,10 +39,10 @@ | [sumologic_field.loadbalancername](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.namespace](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.networkloadbalancer](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | +| [sumologic_field.queuename](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.region](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.tablename](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field.topicname](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | -| [sumologic_field.queuename](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field) | resource | | [sumologic_field_extraction_rule.AwsObservabilityAlbAccessLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | | [sumologic_field_extraction_rule.AwsObservabilityApiGatewayCloudTrailLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | | [sumologic_field_extraction_rule.AwsObservabilityDynamoDBCloudTrailLogsFER](https://registry.terraform.io/providers/SumoLogic/sumologic/latest/docs/resources/field_extraction_rule) | resource | @@ -134,7 +134,6 @@ | [sumologic\_field\_networkloadbalancer](#output\_sumologic\_field\_networkloadbalancer) | This output contains sumologic networkloadbalancer field id. | | [sumologic\_field\_region](#output\_sumologic\_field\_region) | This output contains sumologic Region field id. | | [sumologic\_field\_tablename](#output\_sumologic\_field\_tablename) | This output contains sumologic tablename field id. | -| [sumologic\_field\_queuename](#output\_sumologic\_field\_queuename) | This output contains sumologic queuename field id. | | [sumologic\_inventory\_source](#output\_sumologic\_inventory\_source) | This output contains sumologic aws inventory source id. | | [sumologic\_kinesis\_firehose\_for\_logs\_source](#output\_sumologic\_kinesis\_firehose\_for\_logs\_source) | This output contains sumologic kinesis firehose for logs source id. | | [sumologic\_kinesis\_firehose\_for\_metrics\_source](#output\_sumologic\_kinesis\_firehose\_for\_metrics\_source) | This output contains sumologic kinesis firehose for metrics source id. | diff --git a/aws-observability-terraform/examples/sourcemodule/overrideSources/versions.tf b/aws-observability-terraform/examples/sourcemodule/overrideSources/versions.tf index befb90d4..ae1b64ac 100644 --- a/aws-observability-terraform/examples/sourcemodule/overrideSources/versions.tf +++ b/aws-observability-terraform/examples/sourcemodule/overrideSources/versions.tf @@ -7,7 +7,7 @@ terraform { version = ">= 3.42.0, < 4.0.0" } sumologic = { - version = ">= 2.13.0" + version = ">= 2.28.3, < 3.0.0" source = "SumoLogic/sumologic" } time = { diff --git a/aws-observability-terraform/examples/sourcemodule/testSource/README.md b/aws-observability-terraform/examples/sourcemodule/testSource/README.md index 9efa8077..53905006 100644 --- a/aws-observability-terraform/examples/sourcemodule/testSource/README.md +++ b/aws-observability-terraform/examples/sourcemodule/testSource/README.md @@ -5,14 +5,14 @@ | [terraform](#requirement\_terraform) | >= 0.13.0 | | [aws](#requirement\_aws) | >= 3.42.0, < 4.0.0 | | [random](#requirement\_random) | >= 3.1.0 | -| [sumologic](#requirement\_sumologic) | >= 2.13.0 | +| [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#requirement\_time) | >= 0.7.1 | ## Providers | Name | Version | |------|---------| -| [sumologic](#provider\_sumologic) | >= 2.13.0 | +| [sumologic](#provider\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#provider\_time) | >= 0.7.1 | ## Modules diff --git a/aws-observability-terraform/examples/sourcemodule/testSource/versions.tf b/aws-observability-terraform/examples/sourcemodule/testSource/versions.tf index befb90d4..ae1b64ac 100644 --- a/aws-observability-terraform/examples/sourcemodule/testSource/versions.tf +++ b/aws-observability-terraform/examples/sourcemodule/testSource/versions.tf @@ -7,7 +7,7 @@ terraform { version = ">= 3.42.0, < 4.0.0" } sumologic = { - version = ">= 2.13.0" + version = ">= 2.28.3, < 3.0.0" source = "SumoLogic/sumologic" } time = { diff --git a/aws-observability-terraform/source-module/README.md b/aws-observability-terraform/source-module/README.md index a3bc5150..90e5395d 100644 --- a/aws-observability-terraform/source-module/README.md +++ b/aws-observability-terraform/source-module/README.md @@ -5,7 +5,7 @@ | [terraform](#requirement\_terraform) | >= 0.13.0 | | [aws](#requirement\_aws) | >= 5.16.2, < 6.0.0 | | [random](#requirement\_random) | >= 3.1.0 | -| [sumologic](#requirement\_sumologic) | >= 2.14.0 | +| [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#requirement\_time) | >= 0.7.1 | ## Providers @@ -15,7 +15,7 @@ | [aws](#provider\_aws) | >= 5.16.2, < 6.0.0 | | [null](#provider\_null) | n/a | | [random](#provider\_random) | >= 3.1.0 | -| [sumologic](#provider\_sumologic) | >= 2.14.0 | +| [sumologic](#provider\_sumologic) | >= 2.28.3, < 3.0.0 | | [time](#provider\_time) | >= 0.7.1 | ## Modules diff --git a/aws-observability-terraform/source-module/versions.tf b/aws-observability-terraform/source-module/versions.tf index 6c7a996a..25432b53 100644 --- a/aws-observability-terraform/source-module/versions.tf +++ b/aws-observability-terraform/source-module/versions.tf @@ -7,7 +7,7 @@ terraform { version = ">= 5.16.2, < 6.0.0" } sumologic = { - version = ">= 2.14.0" + version = ">= 2.28.3, < 3.0.0" source = "SumoLogic/sumologic" } time = { diff --git a/aws-observability-terraform/versions.tf b/aws-observability-terraform/versions.tf index 6c7a996a..25432b53 100644 --- a/aws-observability-terraform/versions.tf +++ b/aws-observability-terraform/versions.tf @@ -7,7 +7,7 @@ terraform { version = ">= 5.16.2, < 6.0.0" } sumologic = { - version = ">= 2.14.0" + version = ">= 2.28.3, < 3.0.0" source = "SumoLogic/sumologic" } time = { From 85580d0c8f896f5bce691e60739debc56922e9b9 Mon Sep 17 00:00:00 2001 From: Himanshu Sharma Date: Thu, 28 Mar 2024 20:03:27 +0530 Subject: [PATCH 6/7] Updating time provider version with readme --- aws-observability-terraform/README.md | 2 +- aws-observability-terraform/examples/appmodule/README.md | 4 ++-- aws-observability-terraform/examples/appmodule/versions.tf | 2 +- .../examples/sourcemodule/overrideSources/README.md | 4 ++-- .../examples/sourcemodule/overrideSources/versions.tf | 2 +- .../examples/sourcemodule/testSource/README.md | 4 ++-- .../examples/sourcemodule/testSource/versions.tf | 2 +- aws-observability-terraform/source-module/README.md | 4 ++-- aws-observability-terraform/source-module/versions.tf | 2 +- aws-observability-terraform/versions.tf | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/aws-observability-terraform/README.md b/aws-observability-terraform/README.md index e277c52d..14a8f502 100644 --- a/aws-observability-terraform/README.md +++ b/aws-observability-terraform/README.md @@ -6,7 +6,7 @@ | [aws](#requirement\_aws) | >= 5.16.2, < 6.0.0 | | [random](#requirement\_random) | >= 3.1.0 | | [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | -| [time](#requirement\_time) | >= 0.7.1 | +| [time](#requirement\_time) | >= 0.11.1 | ## Providers diff --git a/aws-observability-terraform/examples/appmodule/README.md b/aws-observability-terraform/examples/appmodule/README.md index 9011c905..24549d38 100644 --- a/aws-observability-terraform/examples/appmodule/README.md +++ b/aws-observability-terraform/examples/appmodule/README.md @@ -6,14 +6,14 @@ | [aws](#requirement\_aws) | >= 3.42.0, < 4.0.0 | | [random](#requirement\_random) | >= 3.1.0 | | [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | -| [time](#requirement\_time) | >= 0.7.1 | +| [time](#requirement\_time) | >= 0.11.1 | ## Providers | Name | Version | |------|---------| | [sumologic](#provider\_sumologic) | >= 2.28.3, < 3.0.0 | -| [time](#provider\_time) | >= 0.7.1 | +| [time](#provider\_time) | >= 0.11.1 | ## Modules diff --git a/aws-observability-terraform/examples/appmodule/versions.tf b/aws-observability-terraform/examples/appmodule/versions.tf index ae1b64ac..d2bd670c 100644 --- a/aws-observability-terraform/examples/appmodule/versions.tf +++ b/aws-observability-terraform/examples/appmodule/versions.tf @@ -12,7 +12,7 @@ terraform { } time = { source = "hashicorp/time" - version = ">= 0.7.1" + version = ">= 0.11.1" } random = { source = "hashicorp/random" diff --git a/aws-observability-terraform/examples/sourcemodule/overrideSources/README.md b/aws-observability-terraform/examples/sourcemodule/overrideSources/README.md index 5fe234dd..c76359d9 100644 --- a/aws-observability-terraform/examples/sourcemodule/overrideSources/README.md +++ b/aws-observability-terraform/examples/sourcemodule/overrideSources/README.md @@ -6,14 +6,14 @@ | [aws](#requirement\_aws) | >= 3.42.0, < 4.0.0 | | [random](#requirement\_random) | >= 3.1.0 | | [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | -| [time](#requirement\_time) | >= 0.7.1 | +| [time](#requirement\_time) | >= 0.11.1 | ## Providers | Name | Version | |------|---------| | [sumologic](#provider\_sumologic) | >= 2.28.3, < 3.0.0 | -| [time](#provider\_time) | >= 0.7.1 | +| [time](#provider\_time) | >= 0.11.1 | ## Modules diff --git a/aws-observability-terraform/examples/sourcemodule/overrideSources/versions.tf b/aws-observability-terraform/examples/sourcemodule/overrideSources/versions.tf index ae1b64ac..d2bd670c 100644 --- a/aws-observability-terraform/examples/sourcemodule/overrideSources/versions.tf +++ b/aws-observability-terraform/examples/sourcemodule/overrideSources/versions.tf @@ -12,7 +12,7 @@ terraform { } time = { source = "hashicorp/time" - version = ">= 0.7.1" + version = ">= 0.11.1" } random = { source = "hashicorp/random" diff --git a/aws-observability-terraform/examples/sourcemodule/testSource/README.md b/aws-observability-terraform/examples/sourcemodule/testSource/README.md index 53905006..f7360228 100644 --- a/aws-observability-terraform/examples/sourcemodule/testSource/README.md +++ b/aws-observability-terraform/examples/sourcemodule/testSource/README.md @@ -6,14 +6,14 @@ | [aws](#requirement\_aws) | >= 3.42.0, < 4.0.0 | | [random](#requirement\_random) | >= 3.1.0 | | [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | -| [time](#requirement\_time) | >= 0.7.1 | +| [time](#requirement\_time) | >= 0.11.1 | ## Providers | Name | Version | |------|---------| | [sumologic](#provider\_sumologic) | >= 2.28.3, < 3.0.0 | -| [time](#provider\_time) | >= 0.7.1 | +| [time](#provider\_time) | >= 0.11.1 | ## Modules diff --git a/aws-observability-terraform/examples/sourcemodule/testSource/versions.tf b/aws-observability-terraform/examples/sourcemodule/testSource/versions.tf index ae1b64ac..d2bd670c 100644 --- a/aws-observability-terraform/examples/sourcemodule/testSource/versions.tf +++ b/aws-observability-terraform/examples/sourcemodule/testSource/versions.tf @@ -12,7 +12,7 @@ terraform { } time = { source = "hashicorp/time" - version = ">= 0.7.1" + version = ">= 0.11.1" } random = { source = "hashicorp/random" diff --git a/aws-observability-terraform/source-module/README.md b/aws-observability-terraform/source-module/README.md index 90e5395d..059798ce 100644 --- a/aws-observability-terraform/source-module/README.md +++ b/aws-observability-terraform/source-module/README.md @@ -6,7 +6,7 @@ | [aws](#requirement\_aws) | >= 5.16.2, < 6.0.0 | | [random](#requirement\_random) | >= 3.1.0 | | [sumologic](#requirement\_sumologic) | >= 2.28.3, < 3.0.0 | -| [time](#requirement\_time) | >= 0.7.1 | +| [time](#requirement\_time) | >= 0.11.1 | ## Providers @@ -16,7 +16,7 @@ | [null](#provider\_null) | n/a | | [random](#provider\_random) | >= 3.1.0 | | [sumologic](#provider\_sumologic) | >= 2.28.3, < 3.0.0 | -| [time](#provider\_time) | >= 0.7.1 | +| [time](#provider\_time) | >= 0.11.1 | ## Modules diff --git a/aws-observability-terraform/source-module/versions.tf b/aws-observability-terraform/source-module/versions.tf index 25432b53..ede7a75c 100644 --- a/aws-observability-terraform/source-module/versions.tf +++ b/aws-observability-terraform/source-module/versions.tf @@ -12,7 +12,7 @@ terraform { } time = { source = "hashicorp/time" - version = ">= 0.7.1" + version = ">= 0.11.1" } random = { source = "hashicorp/random" diff --git a/aws-observability-terraform/versions.tf b/aws-observability-terraform/versions.tf index 25432b53..ede7a75c 100644 --- a/aws-observability-terraform/versions.tf +++ b/aws-observability-terraform/versions.tf @@ -12,7 +12,7 @@ terraform { } time = { source = "hashicorp/time" - version = ">= 0.7.1" + version = ">= 0.11.1" } random = { source = "hashicorp/random" From e2abfda298d8cd88faf34ae8c30624c769f4c4f6 Mon Sep 17 00:00:00 2001 From: Himanshu Sharma <87634042+himsharma01@users.noreply.github.com> Date: Thu, 4 Apr 2024 18:30:31 +0530 Subject: [PATCH 7/7] Update validateSumo.go --- aws-observability-terraform/test/appmodule/validateSumo.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws-observability-terraform/test/appmodule/validateSumo.go b/aws-observability-terraform/test/appmodule/validateSumo.go index c3b634bd..c04aa842 100644 --- a/aws-observability-terraform/test/appmodule/validateSumo.go +++ b/aws-observability-terraform/test/appmodule/validateSumo.go @@ -207,7 +207,7 @@ func validateSumoLogicResources(t *testing.T, workingDir string) { dbinstanceidentifierField := terraform.Output(t, terraformOptions, "sumologic_field_dbinstanceidentifier") validateSumoLogicField(t, terraformOptions, dbinstanceidentifierField) time.Sleep(2 * time.Second) - // Validate if the dbinstanceidentifier Field is created successfully + // Validate if the apiid Field is created successfully apiidField := terraform.Output(t, terraformOptions, "sumologic_field_apiid") validateSumoLogicField(t, terraformOptions, apiidField)