(including brackets) with your Sumo Logic Organization ID.
diff --git a/aws-observability-terraform/examples/sourcemodule/testSource/variables.tf b/aws-observability-terraform/examples/sourcemodule/testSource/variables.tf
index e0039f84..80e682c5 100644
--- a/aws-observability-terraform/examples/sourcemodule/testSource/variables.tf
+++ b/aws-observability-terraform/examples/sourcemodule/testSource/variables.tf
@@ -1,6 +1,6 @@
variable "sumologic_environment" {
type = string
- description = "Enter au, ca, ch, de, eu, fed, jp, kr, us1 or us2. For more information on Sumo Logic deployments visit https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security"
+ description = "Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2. For more information on Sumo Logic deployments visit https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security"
validation {
condition = contains([
@@ -9,12 +9,13 @@ variable "sumologic_environment" {
"ch",
"de",
"eu",
+ "esc",
"fed",
"jp",
"kr",
"us1",
"us2"], var.sumologic_environment)
- error_message = "The value must be one of au, ca, ch, de, eu, fed, jp, kr, us1 or us2."
+ error_message = "The value must be one of au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2."
}
}
@@ -90,7 +91,16 @@ variable "sumo_api_endpoint" {
validation {
condition = contains([
"https://api.au.sumologic.com/api/",
- "https://api.ca.sumologic.com/api/", "https://api.ch.sumologic.com/api/", "https://api.de.sumologic.com/api/", "https://api.eu.sumologic.com/api/", "https://api.fed.sumologic.com/api/", "https://api.jp.sumologic.com/api/", "https://api.sumologic.com/api/", "https://api.us2.sumologic.com/api/", "https://api.kr.sumologic.com/api/"], var.sumo_api_endpoint)
+ "https://api.ca.sumologic.com/api/",
+ "https://api.ch.sumologic.com/api/",
+ "https://api.de.sumologic.com/api/",
+ "https://api.eu.sumologic.com/api/",
+ "https://api.esc.sumologic.com/api/",
+ "https://api.fed.sumologic.com/api/",
+ "https://api.jp.sumologic.com/api/",
+ "https://api.sumologic.com/api/",
+ "https://api.us2.sumologic.com/api/",
+ "https://api.kr.sumologic.com/api/"], var.sumo_api_endpoint)
error_message = "Argument \"sumo_api_endpoint\" must be one of the values specified at https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security."
}
}
diff --git a/aws-observability-terraform/fields.sh b/aws-observability-terraform/fields.sh
index dbad5144..c0997f21 100644
--- a/aws-observability-terraform/fields.sh
+++ b/aws-observability-terraform/fields.sh
@@ -10,6 +10,7 @@
#-----------------------------------------------------------------------------------------------------------------------------------------------------------
# Validate Sumo Logic environment/deployment.
+
if ! [[ "$SUMOLOGIC_ENV" =~ ^(au|ca|ch|de|eu|jp|us2|fed|kr|us1)$ ]]; then
echo "$SUMOLOGIC_ENV is invalid Sumo Logic deployment. For SUMOLOGIC_ENV, provide one from list : au, ca, ch, de, eu, fed, jp, kr, us1 or us2. For more information on Sumo Logic deployments visit https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security"
exit 1
diff --git a/aws-observability-terraform/go.mod b/aws-observability-terraform/go.mod
index 424b9219..c0be3c9c 100644
--- a/aws-observability-terraform/go.mod
+++ b/aws-observability-terraform/go.mod
@@ -3,44 +3,44 @@ module github.com/SumoLogic/sumologic-solution-templates/aws-observability-terra
go 1.25.0
require (
- github.com/aws/aws-sdk-go-v2 v1.36.6
+ github.com/aws/aws-sdk-go-v2 v1.41.6
github.com/aws/aws-sdk-go-v2/config v1.29.18
github.com/aws/aws-sdk-go-v2/service/cloudformation v1.61.1
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.49.4
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.45.4
github.com/aws/aws-sdk-go-v2/service/firehose v1.37.8
github.com/aws/aws-sdk-go-v2/service/iam v1.43.1
- github.com/aws/aws-sdk-go-v2/service/lambda v1.73.0
- github.com/aws/aws-sdk-go-v2/service/s3 v1.84.1
+ github.com/aws/aws-sdk-go-v2/service/lambda v1.89.1
+ github.com/aws/aws-sdk-go-v2/service/s3 v1.99.1
github.com/aws/aws-sdk-go-v2/service/sns v1.34.8
github.com/gruntwork-io/terratest v0.50.0
- github.com/stretchr/testify v1.10.0
+ github.com/stretchr/testify v1.11.1
)
require (
- filippo.io/edwards25519 v1.1.0 // indirect
+ filippo.io/edwards25519 v1.2.0 // indirect
github.com/agext/levenshtein v1.2.3 // indirect
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
- github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.11 // indirect
+ github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.9 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.71 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.33 // indirect
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.85 // indirect
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.37 // indirect
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.37 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.22 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.22 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
- github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.37 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.23 // indirect
github.com/aws/aws-sdk-go-v2/service/acm v1.33.1 // indirect
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.54.1 // indirect
- github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.53.1 // indirect
+ github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.69.1 // indirect
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.44.1 // indirect
github.com/aws/aws-sdk-go-v2/service/ec2 v1.234.0 // indirect
github.com/aws/aws-sdk-go-v2/service/ecr v1.46.0 // indirect
github.com/aws/aws-sdk-go-v2/service/ecs v1.60.1 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.4 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.5 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.8 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.14 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.18 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.18 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.18 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.22 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.22 // indirect
github.com/aws/aws-sdk-go-v2/service/kms v1.41.3 // indirect
github.com/aws/aws-sdk-go-v2/service/rds v1.99.2 // indirect
github.com/aws/aws-sdk-go-v2/service/route53 v1.53.1 // indirect
@@ -50,7 +50,7 @@ require (
github.com/aws/aws-sdk-go-v2/service/sso v1.25.6 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.4 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.34.1 // indirect
- github.com/aws/smithy-go v1.22.4 // indirect
+ github.com/aws/smithy-go v1.25.0 // indirect
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
github.com/boombuler/barcode v1.1.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
@@ -79,7 +79,7 @@ require (
github.com/hashicorp/terraform-json v0.25.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
- github.com/jackc/pgx/v5 v5.7.5 // indirect
+ github.com/jackc/pgx/v5 v5.9.2 // indirect
github.com/jackc/puddle/v2 v2.2.2 // indirect
github.com/jinzhu/copier v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
@@ -90,7 +90,7 @@ require (
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
- github.com/moby/spdystream v0.5.0 // indirect
+ github.com/moby/spdystream v0.5.1 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
diff --git a/aws-observability-terraform/go.sum b/aws-observability-terraform/go.sum
index dc7f0b79..21f3434c 100644
--- a/aws-observability-terraform/go.sum
+++ b/aws-observability-terraform/go.sum
@@ -1,15 +1,15 @@
-filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
-filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
+filippo.io/edwards25519 v1.2.0 h1:crnVqOiS4jqYleHd9vaKZ+HKtHfllngJIiOpNpoJsjo=
+filippo.io/edwards25519 v1.2.0/go.mod h1:xzAOLCNug/yB62zG1bQ8uziwrIqIuxhctzJT18Q77mc=
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
-github.com/aws/aws-sdk-go-v2 v1.36.6 h1:zJqGjVbRdTPojeCGWn5IR5pbJwSQSBh5RWFTQcEQGdU=
-github.com/aws/aws-sdk-go-v2 v1.36.6/go.mod h1:EYrzvCCN9CMUTa5+6lf6MM4tq3Zjp8UhSGR/cBsjai0=
-github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.11 h1:12SpdwU8Djs+YGklkinSSlcrPyj3H4VifVsKf78KbwA=
-github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.11/go.mod h1:dd+Lkp6YmMryke+qxW/VnKyhMBDTYP41Q2Bb+6gNZgY=
+github.com/aws/aws-sdk-go-v2 v1.41.6 h1:1AX0AthnBQzMx1vbmir3Y4WsnJgiydmnJjiLu+LvXOg=
+github.com/aws/aws-sdk-go-v2 v1.41.6/go.mod h1:dy0UzBIfwSeot4grGvY1AqFWN5zgziMmWGzysDnHFcQ=
+github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.9 h1:adBsCIIpLbLmYnkQU+nAChU5yhVTvu5PerROm+/Kq2A=
+github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.9/go.mod h1:uOYhgfgThm/ZyAuJGNQ5YgNyOlYfqnGpTHXvk3cpykg=
github.com/aws/aws-sdk-go-v2/config v1.29.18 h1:x4T1GRPnqKV8HMJOMtNktbpQMl3bIsfx8KbqmveUO2I=
github.com/aws/aws-sdk-go-v2/config v1.29.18/go.mod h1:bvz8oXugIsH8K7HLhBv06vDqnFv3NsGDt2Znpk7zmOU=
github.com/aws/aws-sdk-go-v2/credentials v1.17.71 h1:r2w4mQWnrTMJjOyIsZtGp3R3XGY3nqHn8C26C2lQWgA=
@@ -18,14 +18,14 @@ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.33 h1:D9ixiWSG4lyUBL2DDNK924
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.33/go.mod h1:caS/m4DI+cij2paz3rtProRBI4s/+TCiWoaWZuQ9010=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.85 h1:AfpstoiaenxGSCUheWiicgZE5XXS5Fi4CcQ4PA/x+Qw=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.85/go.mod h1:HxiF0Fd6WHWjdjOffLkCauq7JqzWqMMq0iUVLS7cPQc=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.37 h1:osMWfm/sC/L4tvEdQ65Gri5ZZDCUpuYJZbTTDrsn4I0=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.37/go.mod h1:ZV2/1fbjOPr4G4v38G3Ww5TBT4+hmsK45s/rxu1fGy0=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.37 h1:v+X21AvTb2wZ+ycg1gx+orkB/9U6L7AOp93R7qYxsxM=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.37/go.mod h1:G0uM1kyssELxmJ2VZEfG0q2npObR3BAkF3c1VsfVnfs=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.22 h1:GmLa5Kw1ESqtFpXsx5MmC84QWa/ZrLZvlJGa2y+4kcQ=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.22/go.mod h1:6sW9iWm9DK9YRpRGga/qzrzNLgKpT2cIxb7Vo2eNOp0=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.22 h1:dY4kWZiSaXIzxnKlj17nHnBcXXBfac6UlsAx2qL6XrU=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.22/go.mod h1:KIpEUx0JuRZLO7U6cbV204cWAEco2iC3l061IxlwLtI=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo=
-github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.37 h1:XTZZ0I3SZUHAtBLBU6395ad+VOblE0DwQP6MuaNeics=
-github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.37/go.mod h1:Pi6ksbniAWVwu2S8pEzcYPyhUkAcLaufxN7PfAUQjBk=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.23 h1:FPXsW9+gMuIeKmz7j6ENWcWtBGTe1kH8r9thNt5Uxx4=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.23/go.mod h1:7J8iGMdRKk6lw2C+cMIphgAnT8uTwBwNOsGkyOCm80U=
github.com/aws/aws-sdk-go-v2/service/acm v1.33.1 h1:VAAadBIWgoYoS0tRWkghu1E2LfSsKQw8m/sOkdF1D3E=
github.com/aws/aws-sdk-go-v2/service/acm v1.33.1/go.mod h1:eq3JsAPGHsNfhRbPoVRUVDxtQFynlnFcDXzxFMEeOdQ=
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.54.1 h1:DsCwHidm3y19FV7h/UEylDDxiv+PFoztdMTToYkdMn8=
@@ -36,8 +36,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.49.4 h1:A0rvb7JdUw0YgjNrVbs3Z
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.49.4/go.mod h1:XaaXDmDC31kF9fEv0SiFr0g1WQ4dBMGaJvbl80kBxd8=
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.45.4 h1:0uWgUHILgrSF/Gx9Of+Sx6r97A1L9tx0ghTsdhxwcN8=
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.45.4/go.mod h1:pad4tIMdDzdRqCPkJ1Oxlf1J8NRo0Tud2OY11gsBEOo=
-github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.53.1 h1:RXmXjIIZEb37O9INIV1SXNya5U8xj/6tDWtKQitpvNQ=
-github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.53.1/go.mod h1:sJpy0akDxor5AnHCgbRP+qUmwb8HPsyCzKuZUFqz+sQ=
+github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.69.1 h1:2ANEV0YkO/NlWxVmHBui7w7NE3lHW2sJji+OtjKJwck=
+github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.69.1/go.mod h1:O7cQtpXZSk+P59gPFZIpcMpKwLk5d9zabFpV8fw68RM=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.44.1 h1:UoEWyfuQ/yNOuDENk5nn+AgNCH2Y5yzQEv6YbTyhIV8=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.44.1/go.mod h1:K1I47BjiTRX00pBxfJLYK80QFRcf6blev2wbjgC5Cyc=
github.com/aws/aws-sdk-go-v2/service/ec2 v1.234.0 h1:CwPCXL7/lBUFtgm+8P3V/eRi25Gu8UuvCrevjxJJrNI=
@@ -50,26 +50,26 @@ github.com/aws/aws-sdk-go-v2/service/firehose v1.37.8 h1:JItNmjKGPoH5YwgIA5B37wd
github.com/aws/aws-sdk-go-v2/service/firehose v1.37.8/go.mod h1:xdxhXGIsH5upngcOV+G1CEgveutXEFYJvWN9eUsgogA=
github.com/aws/aws-sdk-go-v2/service/iam v1.43.1 h1:xpPZZpbmqIJse9OH+Kf/bW/n+bRe0BtE/LtHvBJYcbc=
github.com/aws/aws-sdk-go-v2/service/iam v1.43.1/go.mod h1:/IEkOg5Gkv2HFxOb3Prs84xpRyxO9P/9Zow/clWl84Q=
-github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.4 h1:CXV68E2dNqhuynZJPB80bhPQwAKqBWVer887figW6Jc=
-github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.4/go.mod h1:/xFi9KtvBXP97ppCz1TAEvU1Uf66qvid89rbem3wCzQ=
-github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.5 h1:M5/B8JUaCI8+9QD+u3S/f4YHpvqE9RpSkV3rf0Iks2w=
-github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.5/go.mod h1:Bktzci1bwdbpuLiu3AOksiNPMl/LLKmX1TWmqp2xbvs=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.8 h1:HtOTYcbVcGABLOVuPYaIihj6IlkqubBwFj10K5fxRek=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.8/go.mod h1:VsK9abqQeGlzPgUr+isNWzPlK2vKe9INMLWnY65f5Xs=
+github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.14 h1:xnvDEnw+pnj5mctWiYuFbigrEzSm35x7k4KS/ZkCANg=
+github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.14/go.mod h1:yS5rNogD8e0Wu9+l3MUwr6eENBzEeGejvINpN5PAYfY=
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.18 h1:QnGWwpTiazs1Y74RwA8VUfAtKuJQbnQ98DBFnSywj0s=
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.18/go.mod h1:gWOI6Vb0Bbmsi0Ejvtt3RkwKpdoa/SOYTVUlzqYPRLc=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.18 h1:vvbXsA2TVO80/KT7ZqCbx934dt6PY+vQ8hZpUZ/cpYg=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.18/go.mod h1:m2JJHledjBGNMsLOF1g9gbAxprzq3KjC8e4lxtn+eWg=
-github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.18 h1:OS2e0SKqsU2LiJPqL8u9x41tKc6MMEHrWjLVLn3oysg=
-github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.18/go.mod h1:+Yrk+MDGzlNGxCXieljNeWpoZTCQUQVL+Jk9hGGJ8qM=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.22 h1:PUmZeJU6Y1Lbvt9WFuJ0ugUK2xn6hIWUBBbKuOWF30s=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.22/go.mod h1:nO6egFBoAaoXze24a2C0NjQCvdpk8OueRoYimvEB9jo=
+github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.22 h1:SE+aQ4DEqG53RRCAIHlCf//B2ycxGH7jFkpnAh/kKPM=
+github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.22/go.mod h1:ES3ynECd7fYeJIL6+oax+uIEljmfps0S70BaQzbMd/o=
github.com/aws/aws-sdk-go-v2/service/kms v1.41.3 h1:P0mjq/4mqTRA8SlS/4jL946RBW287kkKI/fazTTDJ3E=
github.com/aws/aws-sdk-go-v2/service/kms v1.41.3/go.mod h1:79gw7fH6dqzJz3a5qwDnQv5GDPs8b6eJIb9hJ+/c/YU=
-github.com/aws/aws-sdk-go-v2/service/lambda v1.73.0 h1:5rog6aSAcNved2uO45dU+Xeag3UJKfhLJlQi9tjz7h4=
-github.com/aws/aws-sdk-go-v2/service/lambda v1.73.0/go.mod h1:JE2aLHT2ZIj9Ep5mBJ9jWUnrce6twtmVsWIbuGFL4xg=
+github.com/aws/aws-sdk-go-v2/service/lambda v1.89.1 h1:JxHLwNK5mIKsh2Q0APTSijdzkk5ccI4gyvYdar1JU/0=
+github.com/aws/aws-sdk-go-v2/service/lambda v1.89.1/go.mod h1:7qoh/MlWG5QCnZwq9bvdXomEAkmumayXcjEjIemIV7U=
github.com/aws/aws-sdk-go-v2/service/rds v1.99.2 h1:I0T37QJHzU1Ufv5gofYr/57Usw2Z7xi0I0tqFZlaLaM=
github.com/aws/aws-sdk-go-v2/service/rds v1.99.2/go.mod h1:uTuAFKclKRNinQJVcLAyiqpTkF/QW07puSr8hs9XHkg=
github.com/aws/aws-sdk-go-v2/service/route53 v1.53.1 h1:R3nSX1hguRy6MnknHiepSvqnnL8ansFwK2hidPesAYU=
github.com/aws/aws-sdk-go-v2/service/route53 v1.53.1/go.mod h1:fmSiB4OAghn85lQgk7XN9l9bpFg5Bm1v3HuaXKytPEw=
-github.com/aws/aws-sdk-go-v2/service/s3 v1.84.1 h1:RkHXU9jP0DptGy7qKI8CBGsUJruWz0v5IgwBa2DwWcU=
-github.com/aws/aws-sdk-go-v2/service/s3 v1.84.1/go.mod h1:3xAOf7tdKF+qbb+XpU+EPhNXAdun3Lu1RcDrj8KC24I=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.99.1 h1:kU/eBN5+MWNo/LcbNa4hWDdN76hdcd7hocU5kvu7IsU=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.99.1/go.mod h1:Fw9aqhJicIVee1VytBBjH+l+5ov6/PhbtIK/u3rt/ls=
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.35.8 h1:HD6R8K10gPbN9CNqRDOs42QombXlYeLOr4KkIxe2lQs=
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.35.8/go.mod h1:x66GdH8qjYTr6Kb4ik38Ewl6moLsg8igbceNsmxVxeA=
github.com/aws/aws-sdk-go-v2/service/sns v1.34.8 h1:8o7NvBkjmMaX1Cv4vztOx83aFDV6uiU8VM9pTVochng=
@@ -84,8 +84,8 @@ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.4 h1:OV/pxyXh+eMA0TExHEC4jyWd
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.4/go.mod h1:8Mm5VGYwtm+r305FfPSuc+aFkrypeylGYhFim6XEPoc=
github.com/aws/aws-sdk-go-v2/service/sts v1.34.1 h1:aUrLQwJfZtwv3/ZNG2xRtEen+NqI3iesuacjP51Mv1s=
github.com/aws/aws-sdk-go-v2/service/sts v1.34.1/go.mod h1:3wFBZKoWnX3r+Sm7in79i54fBmNfwhdNdQuscCw7QIk=
-github.com/aws/smithy-go v1.22.4 h1:uqXzVZNuNexwc/xrh6Tb56u89WDlJY6HS+KC0S4QSjw=
-github.com/aws/smithy-go v1.22.4/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI=
+github.com/aws/smithy-go v1.25.0 h1:Sz/XJ64rwuiKtB6j98nDIPyYrV1nVNJ4YU74gttcl5U=
+github.com/aws/smithy-go v1.25.0/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas=
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4=
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
@@ -156,8 +156,8 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
-github.com/jackc/pgx/v5 v5.7.5 h1:JHGfMnQY+IEtGM63d+NGMjoRpysB2JBwDr5fsngwmJs=
-github.com/jackc/pgx/v5 v5.7.5/go.mod h1:aruU7o91Tc2q2cFp5h4uP3f6ztExVpyVv88Xl/8Vl8M=
+github.com/jackc/pgx/v5 v5.9.2 h1:3ZhOzMWnR4yJ+RW1XImIPsD1aNSz4T4fyP7zlQb56hw=
+github.com/jackc/pgx/v5 v5.9.2/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4=
github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8=
@@ -184,8 +184,8 @@ github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJ
github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
-github.com/moby/spdystream v0.5.0 h1:7r0J1Si3QO/kjRitvSLVVFUjxMEb/YLj6S9FF62JBCU=
-github.com/moby/spdystream v0.5.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI=
+github.com/moby/spdystream v0.5.1 h1:9sNYeYZUcci9R6/w7KDaFWEWeV4LStVG78Mpyq/Zm/Y=
+github.com/moby/spdystream v0.5.1/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -217,8 +217,8 @@ github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
-github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
+github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/tmccombs/hcl2json v0.6.7 h1:RYKTs4kd/gzRsEiv7J3M2WQ7TYRYZVc+0H0pZdERkxA=
github.com/tmccombs/hcl2json v0.6.7/go.mod h1:lJgBOOGDpbhjvdG2dLaWsqB4KBzul2HytfDTS3H465o=
github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY=
diff --git a/aws-observability-terraform/source-module/README.md b/aws-observability-terraform/source-module/README.md
index afd32061..89dee086 100644
--- a/aws-observability-terraform/source-module/README.md
+++ b/aws-observability-terraform/source-module/README.md
@@ -87,7 +87,7 @@
| [collect\_elb\_logs](#input\_collect\_elb\_logs) | Create a Sumo Logic ALB Logs Source.
You have the following options:
true - to ingest load balancer logs into Sumo Logic. Creates a Sumo Logic Log Source that collects application load balancer logs from an existing bucket or a new bucket.
If true, please configure \"elb\_source\_details\" with configuration information including the bucket name and path expression to ingest load balancer logs.
false - you are already ingesting load balancer logs into Sumo Logic. | `bool` | `true` | no |
| [elb\_log\_source\_url](#input\_elb\_log\_source\_url) | Required if you are already collecting ALB logs. Provide the existing Sumo Logic ALB 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 |
| [elb\_source\_details](#input\_elb\_source\_details) | Provide details for the Sumo Logic ALB source. If not provided, then defaults will be used.
To enable collection of application load balancer logs, set collect\_elb\_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 ALB access logs. If this is blank, Sumo Logic will store logs in the path expression: *elasticloadbalancing/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": "*elasticloadbalancing/AWSLogs//elasticloadbalancing//*"
},
"description": "This source is created using Sumo Logic terraform AWS Observability module to collect AWS Application LoadBalancer logs.",
"fields": {},
"source_category": "aws/observability/alb/logs",
"source_name": "Elb Logs (Region)"
} | no |
-| [environment](#input\_environment) | Enter au, ca, ch, de, eu, fed, jp, kr, us1 or us2. For more information on Sumo Logic deployments visit https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security | `string` | n/a | yes |
+| [environment](#input\_environment) | Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2. For more information on Sumo Logic deployments visit https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security | `string` | n/a | yes |
| [existing\_iam\_details](#input\_existing\_iam\_details) | Provide an existing AWS IAM role arn value which provides access to AWS S3 Buckets, AWS CloudWatch Metrics API and Sumo Logic Inventory data.
If kept empty, a new IAM role will be created with the required permissions.
For more details on permissions, check the iam policy tmpl files at /source-module/templates folder. | object({
create_iam_role = bool
iam_role_arn = string
}) | {
"create_iam_role": true,
"iam_role_arn": ""
} | no |
| [sumologic\_collector\_details](#input\_sumologic\_collector\_details) | Provide details for the Sumo Logic collector. If not provided, then defaults will be used.
The Collector will be created if any new source will be created and \"sumologic\_existing\_collector\_id\" is empty. | object({
collector_name = string
description = string
fields = map(string)
}) | {
"collector_name": "AWS Observability (AWS Account Alias) (Account ID)",
"description": "This collector is created using Sumo Logic terraform AWS Observability module.",
"fields": {}
} | no |
| [sumologic\_existing\_collector\_details](#input\_sumologic\_existing\_collector\_details) | Provide an existing Sumo Logic Collector ID. For more details, visit https://help.sumologic.com/03Send-Data/Sources/03Use-JSON-to-Configure-Sources/Local-Configuration-File-Management/View-or-Download-Source-JSON-Configuration
If provided, all the provided sources will be created within the collector.
If kept empty, a new Collector will be created and all provided sources will be created within that collector. | object({
create_collector = bool
collector_id = string
}) | {
"collector_id": "",
"create_collector": true
} | no |
diff --git a/aws-observability-terraform/source-module/data.tf b/aws-observability-terraform/source-module/data.tf
index 43fdfc3b..7e00e912 100644
--- a/aws-observability-terraform/source-module/data.tf
+++ b/aws-observability-terraform/source-module/data.tf
@@ -2,4 +2,6 @@ data "aws_region" "current" {}
data "aws_caller_identity" "current" {}
-data "sumologic_caller_identity" "current" {}
\ No newline at end of file
+data "sumologic_caller_identity" "current" {}
+
+data "aws_partition" "current" {}
\ No newline at end of file
diff --git a/aws-observability-terraform/source-module/local.tf b/aws-observability-terraform/source-module/local.tf
index a590970c..5288026d 100644
--- a/aws-observability-terraform/source-module/local.tf
+++ b/aws-observability-terraform/source-module/local.tf
@@ -3,7 +3,15 @@ locals {
aws_region = data.aws_region.current.id
- sumo_account_id = "926226587429"
+ #sumo_account_id = "926226587429"
+
+ # sumo aws account ids
+ sumo_account_ids = {
+ aws = "926226587429" # Commercial AWS account
+ aws-us-gov = "926226587429" # GovCloud account
+ aws-cn = "926226587429" # China account
+ aws-eusc = "052162193518" # EU Sovereign account
+ }
# CloudTrail Source updated Details
create_cloudtrail_source = var.collect_cloudtrail_logs && var.cloudtrail_source_url == ""
diff --git a/aws-observability-terraform/source-module/main.tf b/aws-observability-terraform/source-module/main.tf
index d384f6c1..75c5f02a 100644
--- a/aws-observability-terraform/source-module/main.tf
+++ b/aws-observability-terraform/source-module/main.tf
@@ -25,8 +25,10 @@ resource "time_sleep" "wait_for_minutes" {
module "cloudtrail_module" {
depends_on = [time_sleep.wait_for_minutes]
for_each = toset(local.create_cloudtrail_source ? ["cloudtrail_module"] : [])
- source = "SumoLogic/sumo-logic-integrations/sumologic//aws/cloudtrail"
- version = "1.0.22"
+ #source = "SumoLogic/sumo-logic-integrations/sumologic//aws/cloudtrail"
+ source = "git::https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations.git//aws/cloudtrail?ref=fy27q1"
+ #version = "1.0.23"
+
create_collector = false
create_trail = var.cloudtrail_source_details.bucket_details.create_bucket ? true : false
@@ -46,7 +48,7 @@ module "cloudtrail_module" {
}
paused = false
scan_interval = 60000
- sumo_account_id = local.sumo_account_id
+ sumo_account_id = local.sumo_account_ids[data.aws_partition.current.partition]
cutoff_relative_time = "-1d"
fields = local.cloudtrail_fields
iam_details = {
@@ -65,8 +67,10 @@ module "cloudtrail_module" {
module "elb_module" {
depends_on = [time_sleep.wait_for_minutes]
for_each = toset(local.create_elb_source ? ["elb_module"] : [])
- source = "SumoLogic/sumo-logic-integrations/sumologic//aws/elb"
- version = "1.0.22"
+ #source = "SumoLogic/sumo-logic-integrations/sumologic//aws/elb"
+ source = "git::https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations.git//aws/elb?ref=fy27q1"
+ #version = "1.0.23"
+
create_collector = false
sumologic_organization_id = var.sumologic_organization_id
@@ -85,7 +89,7 @@ module "elb_module" {
}
paused = false
scan_interval = 60000
- sumo_account_id = local.sumo_account_id
+ sumo_account_id = local.sumo_account_ids[data.aws_partition.current.partition]
cutoff_relative_time = "-1d"
fields = local.elb_fields
iam_details = {
@@ -99,7 +103,7 @@ module "elb_module" {
}
auto_enable_access_logs = var.auto_enable_access_logs
- app_semantic_version = "1.0.18"
+ app_semantic_version = "1.0.19"
auto_enable_access_logs_options = {
filter = "'Type': 'application'|'type': 'application'"
remove_on_delete_stack = true
@@ -111,8 +115,10 @@ module "elb_module" {
module "classic_lb_module" {
depends_on = [time_sleep.wait_for_minutes]
for_each = toset(local.create_classic_lb_source ? ["classic_lb_module"] : [])
- source = "SumoLogic/sumo-logic-integrations/sumologic//aws/elasticloadbalancing"
- version = "1.0.22"
+ #source = "SumoLogic/sumo-logic-integrations/sumologic//aws/elasticloadbalancing"
+ source = "git::https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations.git//aws/elasticloadbalancing?ref=fy27q1"
+ #version = "1.0.23"
+
create_collector = false
sumologic_organization_id = var.sumologic_organization_id
@@ -131,7 +137,7 @@ module "classic_lb_module" {
}
paused = false
scan_interval = 60000
- sumo_account_id = local.sumo_account_id
+ sumo_account_id = local.sumo_account_ids[data.aws_partition.current.partition]
cutoff_relative_time = "-1d"
fields = local.classic_lb_fields
iam_details = {
@@ -144,7 +150,7 @@ module "classic_lb_module" {
}
}
auto_enable_access_logs = var.auto_enable_classic_lb_access_logs
- app_semantic_version = "1.0.18"
+ app_semantic_version = "1.0.19"
auto_enable_access_logs_options = {
bucket_prefix = local.auto_classic_lb_path_exp
auto_enable_logging = "ELB"
@@ -157,8 +163,9 @@ module "classic_lb_module" {
module "cloudwatch_custom_metrics_source_module" {
depends_on = [time_sleep.wait_for_minutes]
for_each = toset(local.create_cw_metrics_source && length(local.custom_namespace) > 0 ? ["Custom"] : [])
- source = "SumoLogic/sumo-logic-integrations/sumologic//aws/cloudwatchmetrics"
- version = "1.0.22"
+ #source = "SumoLogic/sumo-logic-integrations/sumologic//aws/cloudwatchmetrics"
+ source = "git::https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations.git//aws/cloudwatchmetrics?ref=fy27q1"
+ #version = "1.0.23"
create_collector = false
sumologic_organization_id = var.sumologic_organization_id
@@ -174,7 +181,7 @@ module "cloudwatch_custom_metrics_source_module" {
tag_filters = []
paused = false
scan_interval = 30000
- sumo_account_id = local.sumo_account_id
+ sumo_account_id = local.sumo_account_ids[data.aws_partition.current.partition]
fields = local.metrics_fields
iam_details = {
create_iam_role = false
@@ -187,8 +194,10 @@ module "cloudwatch_custom_metrics_source_module" {
module "cloudwatch_metrics_source_module" {
depends_on = [time_sleep.wait_for_minutes]
for_each = local.create_cw_metrics_source && length(local.aws_namespace) > 0 ? toset(local.aws_namespace) : []
- source = "SumoLogic/sumo-logic-integrations/sumologic//aws/cloudwatchmetrics"
- version = "1.0.22"
+ # source = "SumoLogic/sumo-logic-integrations/sumologic//aws/cloudwatchmetrics"
+ source = "git::https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations.git//aws/cloudwatchmetrics?ref=fy27q1"
+ #version = "1.0.23"
+
create_collector = false
sumologic_organization_id = var.sumologic_organization_id
@@ -204,7 +213,7 @@ module "cloudwatch_metrics_source_module" {
tag_filters = [for tag_filter in var.cloudwatch_metrics_source_details.tag_filters : tag_filter if tag_filter.namespace == each.value]
paused = false
scan_interval = lookup(local.namespace_scan_interval, regex("^AWS/(\\w+)$", each.value)[0], "300000")
- sumo_account_id = local.sumo_account_id
+ sumo_account_id = local.sumo_account_ids[data.aws_partition.current.partition]
fields = local.metrics_fields
iam_details = {
create_iam_role = false
@@ -217,8 +226,9 @@ module "cloudwatch_metrics_source_module" {
module "kinesis_firehose_for_metrics_source_module" {
depends_on = [time_sleep.wait_for_minutes]
for_each = toset(local.create_kf_metrics_source ? ["kinesis_firehose_for_metrics_source_module"] : [])
- source = "SumoLogic/sumo-logic-integrations/sumologic//aws/kinesisfirehoseformetrics"
- version = "1.0.22"
+ # source = "SumoLogic/sumo-logic-integrations/sumologic//aws/kinesisfirehoseformetrics"
+ source = "git::https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations.git//aws/kinesisfirehoseformetrics?ref=fy27q1"
+ #version = "1.0.23"
create_collector = false
sumologic_organization_id = var.sumologic_organization_id
@@ -231,7 +241,7 @@ module "kinesis_firehose_for_metrics_source_module" {
collector_id = local.create_collector ? sumologic_collector.collector["collector"].id : var.sumologic_existing_collector_details.collector_id
limit_to_namespaces = var.cloudwatch_metrics_source_details.limit_to_namespaces
tag_filters = [for tag_filter in var.cloudwatch_metrics_source_details.tag_filters : tag_filter if contains(var.cloudwatch_metrics_source_details.limit_to_namespaces, tag_filter.namespace)]
- sumo_account_id = local.sumo_account_id
+ sumo_account_id = local.sumo_account_ids[data.aws_partition.current.partition]
fields = local.metrics_fields
iam_details = {
create_iam_role = false
@@ -250,8 +260,10 @@ module "kinesis_firehose_for_metrics_source_module" {
module "cloudwatch_logs_lambda_log_forwarder_module" {
depends_on = [time_sleep.wait_for_minutes]
for_each = toset(local.create_llf_logs_source ? ["cloudwatch_logs_lambda_log_forwarder_module"] : [])
- source = "SumoLogic/sumo-logic-integrations/sumologic//aws/cloudwatchlogsforwarder"
- version = "1.0.22"
+ # source = "SumoLogic/sumo-logic-integrations/sumologic//aws/cloudwatchlogsforwarder"
+ source = "git::https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations.git//aws/cloudwatchlogsforwarder?ref=fy27q1"
+ #version = "1.0.23"
+
create_collector = false
@@ -282,8 +294,10 @@ module "cloudwatch_logs_lambda_log_forwarder_module" {
module "kinesis_firehose_for_logs_module" {
depends_on = [time_sleep.wait_for_minutes]
for_each = toset(local.create_kf_logs_source ? ["kinesis_firehose_for_logs_module"] : [])
- source = "SumoLogic/sumo-logic-integrations/sumologic//aws/kinesisfirehoseforlogs"
- version = "1.0.22"
+ #source = "SumoLogic/sumo-logic-integrations/sumologic//aws/kinesisfirehoseforlogs"
+ source = "git::https://github.com/SumoLogic/terraform-sumologic-sumo-logic-integrations.git//aws/kinesisfirehoseforlogs?ref=fy27q1"
+ #version = "1.0.23"
+
create_collector = false
diff --git a/aws-observability-terraform/source-module/main_iam_role.tf b/aws-observability-terraform/source-module/main_iam_role.tf
index 651c076c..d1644b04 100644
--- a/aws-observability-terraform/source-module/main_iam_role.tf
+++ b/aws-observability-terraform/source-module/main_iam_role.tf
@@ -12,9 +12,10 @@ resource "aws_iam_role" "sumologic_iam_role" {
path = "/"
assume_role_policy = templatefile("${path.module}/templates/iam_assume_role_policy.tmpl", {
- SUMO_LOGIC_ACCOUNT_ID = local.sumo_account_id,
+ SUMO_LOGIC_ACCOUNT_ID = local.sumo_account_ids[data.aws_partition.current.partition],
ENVIRONMENT = data.sumologic_caller_identity.current.environment,
SUMO_LOGIC_ORG_ID = var.sumologic_organization_id
+ AWS_PARTITION = data.aws_partition.current.partition
})
tags = var.aws_resource_tags
}
@@ -26,6 +27,7 @@ resource "aws_iam_policy" "cloudtrail_policy" {
policy = templatefile("${path.module}/templates/iam_s3_source_policy.tmpl", {
BUCKET_NAME = local.create_cloudtrail_bucket ? local.common_bucket_name : var.cloudtrail_source_details.bucket_details.bucket_name
+ AWS_PARTITION = data.aws_partition.current.partition
})
tags = var.aws_resource_tags
}
@@ -43,7 +45,8 @@ resource "aws_iam_policy" "elb_policy" {
for_each = toset(local.create_elb_source && local.create_iam_role ? ["elb_policy"] : [])
policy = templatefile("${path.module}/templates/iam_s3_source_policy.tmpl", {
- BUCKET_NAME = local.create_elb_bucket ? local.common_bucket_name : var.elb_source_details.bucket_details.bucket_name
+ BUCKET_NAME = local.create_elb_bucket ? local.common_bucket_name : var.elb_source_details.bucket_details.bucket_name
+ AWS_PARTITION = data.aws_partition.current.partition
})
tags = var.aws_resource_tags
}
@@ -53,7 +56,8 @@ resource "aws_iam_policy" "classic_lb_policy" {
for_each = toset(local.create_classic_lb_source && local.create_iam_role ? ["classic_lb_policy"] : [])
policy = templatefile("${path.module}/templates/iam_s3_source_policy.tmpl", {
- BUCKET_NAME = local.create_classic_lb_bucket ? local.common_bucket_name : var.classic_lb_source_details.bucket_details.bucket_name
+ BUCKET_NAME = local.create_classic_lb_bucket ? local.common_bucket_name : var.classic_lb_source_details.bucket_details.bucket_name
+ AWS_PARTITION = data.aws_partition.current.partition
})
tags = var.aws_resource_tags
}
diff --git a/aws-observability-terraform/source-module/main_s3_bucket.tf b/aws-observability-terraform/source-module/main_s3_bucket.tf
index eb43067b..87de72f4 100644
--- a/aws-observability-terraform/source-module/main_s3_bucket.tf
+++ b/aws-observability-terraform/source-module/main_s3_bucket.tf
@@ -18,6 +18,7 @@ resource "aws_s3_bucket_policy" "dump_access_logs_to_s3" {
policy = templatefile("${path.module}/templates/s3_bucket_policy.tmpl", {
BUCKET_NAME = local.common_bucket_name
ELB_ACCCOUNT_ID = local.region_to_elb_account_id[local.aws_region]
+ AWS_PARTITION = data.aws_partition.current.partition
})
}
@@ -38,6 +39,7 @@ resource "aws_sns_topic" "sns_topic" {
AWS_REGION = local.aws_region,
SNS_TOPIC_NAME = "SumoLogic-Aws-Observability-Module-${random_string.aws_random.id}",
AWS_ACCOUNT = local.aws_account_id
+ AWS_PARTITION = data.aws_partition.current.partition
})
tags = var.aws_resource_tags
}
diff --git a/aws-observability-terraform/source-module/templates/iam_assume_role_policy.tmpl b/aws-observability-terraform/source-module/templates/iam_assume_role_policy.tmpl
index 6c45f2c3..257c447e 100644
--- a/aws-observability-terraform/source-module/templates/iam_assume_role_policy.tmpl
+++ b/aws-observability-terraform/source-module/templates/iam_assume_role_policy.tmpl
@@ -4,7 +4,7 @@
{
"Action": "sts:AssumeRole",
"Principal": {
- "AWS": "arn:aws:iam::${SUMO_LOGIC_ACCOUNT_ID}:root"
+ "AWS": "arn:${AWS_PARTITION}:iam::${SUMO_LOGIC_ACCOUNT_ID}:root"
},
"Effect": "Allow",
"Condition": {
diff --git a/aws-observability-terraform/source-module/templates/iam_s3_source_policy.tmpl b/aws-observability-terraform/source-module/templates/iam_s3_source_policy.tmpl
index cd968b9b..f37d6bf3 100644
--- a/aws-observability-terraform/source-module/templates/iam_s3_source_policy.tmpl
+++ b/aws-observability-terraform/source-module/templates/iam_s3_source_policy.tmpl
@@ -10,8 +10,8 @@
"s3:ListBucket"
],
"Resource": [
- "arn:aws:s3:::${BUCKET_NAME}/*",
- "arn:aws:s3:::${BUCKET_NAME}"
+ "arn:${AWS_PARTITION}:s3:::${BUCKET_NAME}/*",
+ "arn:${AWS_PARTITION}:s3:::${BUCKET_NAME}"
]
}
]
diff --git a/aws-observability-terraform/source-module/templates/s3_bucket_policy.tmpl b/aws-observability-terraform/source-module/templates/s3_bucket_policy.tmpl
index 6b852fc3..81879b9d 100644
--- a/aws-observability-terraform/source-module/templates/s3_bucket_policy.tmpl
+++ b/aws-observability-terraform/source-module/templates/s3_bucket_policy.tmpl
@@ -7,7 +7,7 @@
"Service": "cloudtrail.amazonaws.com"
},
"Action": "s3:GetBucketAcl",
- "Resource": "arn:aws:s3:::${BUCKET_NAME}"
+ "Resource": "arn:${AWS_PARTITION}:s3:::${BUCKET_NAME}"
},
{
"Sid": "AWSCloudTrailWrite",
@@ -16,7 +16,7 @@
"Service": "cloudtrail.amazonaws.com"
},
"Action": "s3:PutObject",
- "Resource": "arn:aws:s3:::${BUCKET_NAME}/*",
+ "Resource": "arn:${AWS_PARTITION}:s3:::${BUCKET_NAME}/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
@@ -30,15 +30,15 @@
"Service": "cloudtrail.amazonaws.com"
},
"Action": "s3:ListBucket",
- "Resource": "arn:aws:s3:::${BUCKET_NAME}"
+ "Resource": "arn:${AWS_PARTITION}:s3:::${BUCKET_NAME}"
},
{
"Effect": "Allow",
"Principal": {
- "AWS": "arn:aws:iam::${ELB_ACCCOUNT_ID}:root"
+ "AWS": "arn:${AWS_PARTITION}:iam::${ELB_ACCCOUNT_ID}:root"
},
"Action": "s3:PutObject",
- "Resource": "arn:aws:s3:::${BUCKET_NAME}/*"
+ "Resource": "arn:${AWS_PARTITION}:s3:::${BUCKET_NAME}/*"
},
{
"Effect": "Allow",
@@ -46,7 +46,7 @@
"Service": "delivery.logs.amazonaws.com"
},
"Action": "s3:PutObject",
- "Resource": "arn:aws:s3:::${BUCKET_NAME}/*",
+ "Resource": "arn:${AWS_PARTITION}:s3:::${BUCKET_NAME}/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
@@ -59,7 +59,7 @@
"Service": "delivery.logs.amazonaws.com"
},
"Action": "s3:GetBucketAcl",
- "Resource": "arn:aws:s3:::${BUCKET_NAME}"
+ "Resource": "arn:${AWS_PARTITION}:s3:::${BUCKET_NAME}"
}
],
"Version": "2008-10-17"
diff --git a/aws-observability-terraform/source-module/templates/sns_topic_policy.tmpl b/aws-observability-terraform/source-module/templates/sns_topic_policy.tmpl
index aba3d325..df147073 100644
--- a/aws-observability-terraform/source-module/templates/sns_topic_policy.tmpl
+++ b/aws-observability-terraform/source-module/templates/sns_topic_policy.tmpl
@@ -7,14 +7,14 @@
"aws:SourceAccount": "${AWS_ACCOUNT}"
},
"ArnLike": {
- "aws:SourceArn": "arn:aws:s3:::${BUCKET_NAME}"
+ "aws:SourceArn": "arn:${AWS_PARTITION}:s3:::${BUCKET_NAME}"
}
},
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
- "Resource": "arn:aws:sns:${AWS_REGION}:${AWS_ACCOUNT}:${SNS_TOPIC_NAME}"
+ "Resource": "arn:${AWS_PARTITION}:sns:${AWS_REGION}:${AWS_ACCOUNT}:${SNS_TOPIC_NAME}"
}
],
"Version": "2008-10-17"
diff --git a/aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip b/aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip
deleted file mode 100644
index ee6fd5b3..00000000
Binary files a/aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip and /dev/null differ
diff --git a/aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip b/aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip
new file mode 100644
index 00000000..6ec5cd1a
Binary files /dev/null and b/aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip differ
diff --git a/aws-observability/apps/alb/alb_app.template.yaml b/aws-observability/apps/alb/alb_app.template.yaml
index 1e263fe5..3c9cca3a 100755
--- a/aws-observability/apps/alb/alb_app.template.yaml
+++ b/aws-observability/apps/alb/alb_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the ALB app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the ALB app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
@@ -291,10 +291,10 @@ Resources:
Type: 'AWS::Serverless::Function'
Properties:
Handler: main.handler
- Runtime: python3.13
+ Runtime: python3.14
CodeUri:
Bucket: !FindInMap [ RegionMap, !Ref 'AWS::Region', bucketname ]
- Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip"
+ Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip"
MemorySize: 128
Timeout: 900
Role:
diff --git a/aws-observability/apps/apigateway/api_gateway_app.template.yaml b/aws-observability/apps/apigateway/api_gateway_app.template.yaml
index 479b96e7..2e06ea61 100755
--- a/aws-observability/apps/apigateway/api_gateway_app.template.yaml
+++ b/aws-observability/apps/apigateway/api_gateway_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the API Gateway app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the API Gateway app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
diff --git a/aws-observability/apps/autoenable/auto_enable.template.yaml b/aws-observability/apps/autoenable/auto_enable.template.yaml
index 76caf852..f155ec8a 100644
--- a/aws-observability/apps/autoenable/auto_enable.template.yaml
+++ b/aws-observability/apps/autoenable/auto_enable.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup Auto Enable ALB Access Logging and Lambda Auto Subscribe Log Groups for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup Auto Enable ALB Access Logging and Lambda Auto Subscribe Log Groups for AWS Observability Solution."
Parameters:
SumoLogicResourceRemoveOnDeleteStack:
@@ -128,7 +128,7 @@ Resources:
Properties:
Location:
ApplicationId: arn:aws:serverlessrepo:us-east-1:956882708938:applications/sumologic-s3-logging-auto-enable
- SemanticVersion: 1.0.18
+ SemanticVersion: 1.0.19
Parameters:
BucketName: !Ref ALBS3LogsBucketName
BucketPrefix: "elasticloadbalancing"
@@ -143,7 +143,7 @@ Resources:
Properties:
Location:
ApplicationId: arn:aws:serverlessrepo:us-east-1:956882708938:applications/sumologic-s3-logging-auto-enable
- SemanticVersion: 1.0.18
+ SemanticVersion: 1.0.19
Parameters:
BucketName: !Ref ELBS3LogsBucketName
BucketPrefix: !Ref ELBS3LogsBucketPrefix
diff --git a/aws-observability/apps/cloudwatchmetrics/cloudwatchmetrics.template.yaml b/aws-observability/apps/cloudwatchmetrics/cloudwatchmetrics.template.yaml
index eb694759..da9fc4ff 100644
--- a/aws-observability/apps/cloudwatchmetrics/cloudwatchmetrics.template.yaml
+++ b/aws-observability/apps/cloudwatchmetrics/cloudwatchmetrics.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to Setup Sumo Logic CloudWatch Metric Source. The template setup CW Metrics Sources for Namespaces."
+Description: "Version - v2.15.0: Template to Setup Sumo Logic CloudWatch Metric Source. The template setup CW Metrics Sources for Namespaces."
Parameters:
SumoLogicDeployment:
diff --git a/aws-observability/apps/common/resources.template.yaml b/aws-observability/apps/common/resources.template.yaml
index c33c4263..770693c7 100755
--- a/aws-observability/apps/common/resources.template.yaml
+++ b/aws-observability/apps/common/resources.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to Setup Sumo Logic Sources and supporting AWS Resources for CloudTrail, ALB, Lambda CloudWatch Logs and CloudWatch Metrics."
+Description: "Version - v2.15.0: Template to Setup Sumo Logic Sources and supporting AWS Resources for CloudTrail, ALB, Lambda CloudWatch Logs and CloudWatch Metrics."
Parameters:
SumoLogicDeployment:
@@ -465,33 +465,33 @@ Resources:
- s3:PutBucketPolicy
Resource:
- !Sub
- - "arn:aws:s3:::${S3Bucket}"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}"
- S3Bucket: !If [install_alb_logs_source, !If [ create_alb_bucket, !Ref CommonS3Bucket, !Ref ALBS3LogsBucketName ], ""]
- !Sub
- - "arn:aws:s3:::${S3Bucket}/*"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}/*"
- S3Bucket: !If [install_alb_logs_source, !If [ create_alb_bucket, !Ref CommonS3Bucket, !Ref ALBS3LogsBucketName ], ""]
- !Sub
- - "arn:aws:s3:::${S3Bucket}"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}"
- S3Bucket: !If [install_cloudtrail_logs_source, !If [ create_cloudtrail_bucket, !Ref CommonS3Bucket, !Ref CloudTrailLogsBucketName ], ""]
- !Sub
- - "arn:aws:s3:::${S3Bucket}/*"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}/*"
- S3Bucket: !If [install_cloudtrail_logs_source, !If [ create_cloudtrail_bucket, !Ref CommonS3Bucket, !Ref CloudTrailLogsBucketName ], ""]
- !Sub
- - "arn:aws:s3:::${S3Bucket}"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}"
- S3Bucket: !If [install_elb_logs_source, !If [ create_elb_bucket, !Ref CommonS3Bucket, !Ref ELBS3LogsBucketName ], ""]
- !Sub
- - "arn:aws:s3:::${S3Bucket}/*"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}/*"
- S3Bucket: !If [install_elb_logs_source, !If [ create_elb_bucket, !Ref CommonS3Bucket, !Ref ELBS3LogsBucketName ], ""]
LambdaHelper:
Type: 'AWS::Serverless::Function'
Properties:
Handler: main.handler
- Runtime: python3.13
+ Runtime: python3.14
Description: "Lambda Function for deploying SumoLogic AWS Observability Solution."
CodeUri:
Bucket: !FindInMap [ RegionMap, !Ref 'AWS::Region', bucketname ]
- Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip"
+ Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip"
MemorySize: 128
Timeout: 900
Role:
@@ -531,11 +531,11 @@ Resources:
Type: 'AWS::Serverless::Function'
Properties:
Handler: main.handler
- Runtime: python3.13
+ Runtime: python3.14
Description: "Lambda Function for deploying SumoLogic AWS Observability Solution."
CodeUri:
Bucket: !FindInMap [ RegionMap, !Ref 'AWS::Region', bucketname ]
- Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip"
+ Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip"
MemorySize: 128
Timeout: 900
Role:
@@ -628,14 +628,14 @@ Resources:
Service: cloudtrail.amazonaws.com
Action: s3:GetBucketAcl
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}"
- Sid: AWSCloudTrailWrite
Effect: Allow
Principal:
Service: cloudtrail.amazonaws.com
Action: s3:PutObject
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}/*"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}/*"
Condition:
StringEquals:
s3:x-amz-acl: bucket-owner-full-control
@@ -645,32 +645,30 @@ Resources:
Service: cloudtrail.amazonaws.com
Action: s3:ListBucket
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}"
- Sid: AWSAlbLogsPutObjects
Effect: Allow
Principal:
- AWS: !Join
- - ""
- - - "arn:aws:iam::"
- - !FindInMap [ Region2ELBAccountId, !Ref 'AWS::Region', AccountId ]
- - ":root"
+ AWS: !Sub
+ - "arn:${AWS::Partition}:iam::${ELBAccount}:root"
+ - ELBAccount: !FindInMap [ Region2ELBAccountId, !Ref "AWS::Region", AccountId ]
Action: s3:PutObject
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}/*"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}/*"
- Sid: AWSAlbLogDeliveryAclCheck
Effect: Allow
Principal:
Service: delivery.logs.amazonaws.com
Action: s3:GetBucketAcl
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}"
- Sid: AWSAlbLogDeliveryWrite
Effect: Allow
Principal:
Service: delivery.logs.amazonaws.com
Action: s3:PutObject
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}/*"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}/*"
Condition:
StringEquals:
s3:x-amz-acl: bucket-owner-full-control
@@ -688,10 +686,9 @@ Resources:
StringEquals:
aws:SourceAccount: !Ref "AWS::AccountId"
ArnLike:
- aws:SourceArn: !Join
- - ""
- - - "arn:aws:s3:::aws-observability-logs-"
- - !Select
+ aws:SourceArn: !Sub
+ - "arn:${AWS::Partition}:s3:::aws-observability-logs-${StackSuffix}"
+ - StackSuffix: !Select
- 0
- !Split
- "-"
@@ -749,10 +746,10 @@ Resources:
- s3:ListBucket
Resource:
- !Sub
- - "arn:aws:s3:::${S3Bucket}"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}"
- S3Bucket: !If [ create_alb_bucket, !Ref CommonS3Bucket, !Ref ALBS3LogsBucketName ]
- !Sub
- - "arn:aws:s3:::${S3Bucket}/*"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}/*"
- S3Bucket: !If [ create_alb_bucket, !Ref CommonS3Bucket, !Ref ALBS3LogsBucketName ]
SumoLogicELBS3Policy:
@@ -773,10 +770,10 @@ Resources:
- s3:ListBucket
Resource:
- !Sub
- - "arn:aws:s3:::${S3Bucket}"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}"
- S3Bucket: !If [ create_elb_bucket, !Ref CommonS3Bucket, !Ref ELBS3LogsBucketName ]
- !Sub
- - "arn:aws:s3:::${S3Bucket}/*"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}/*"
- S3Bucket: !If [ create_elb_bucket, !Ref CommonS3Bucket, !Ref ELBS3LogsBucketName ]
SumoLogicCloudTrailS3Policy:
@@ -797,10 +794,10 @@ Resources:
- s3:ListBucket
Resource:
- !Sub
- - "arn:aws:s3:::${S3Bucket}"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}"
- S3Bucket: !If [ create_cloudtrail_bucket, !Ref CommonS3Bucket, !Ref CloudTrailLogsBucketName ]
- !Sub
- - "arn:aws:s3:::${S3Bucket}/*"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}/*"
- S3Bucket: !If [ create_cloudtrail_bucket, !Ref CommonS3Bucket, !Ref CloudTrailLogsBucketName ]
SumoLogicSourceRole:
@@ -817,7 +814,7 @@ Resources:
Statement:
- Effect: Allow
Principal:
- AWS: !Sub "arn:aws:iam::${SumoLogicAccountID}:root"
+ AWS: !Sub "arn:${AWS::Partition}:iam::${SumoLogicAccountID}:root"
Action: sts:AssumeRole
Condition:
StringEquals:
@@ -1114,7 +1111,7 @@ Resources:
Handler: index.lambda_handler
MemorySize: 128
Role: !GetAtt "LambdaRole.Arn"
- Runtime: python3.13
+ Runtime: python3.14
Timeout: 60
Environment:
Variables:
@@ -1331,7 +1328,7 @@ Resources:
StringEquals:
aws:SourceAccount: !Ref "AWS::AccountId"
ArnLike:
- aws:SourceArn: !Sub "arn:aws:s3:::${ALBS3LogsBucketName}"
+ aws:SourceArn: !Sub "arn:${AWS::Partition}:s3:::${ALBS3LogsBucketName}"
Effect: Allow
Principal:
"Service": "s3.amazonaws.com"
@@ -1416,7 +1413,7 @@ Resources:
StringEquals:
aws:SourceAccount: !Ref "AWS::AccountId"
ArnLike:
- aws:SourceArn: !Sub "arn:aws:s3:::${ELBS3LogsBucketName}"
+ aws:SourceArn: !Sub "arn:${AWS::Partition}:s3:::${ELBS3LogsBucketName}"
Effect: Allow
Principal:
"Service": "s3.amazonaws.com"
@@ -1499,7 +1496,7 @@ Resources:
StringEquals:
aws:SourceAccount: !Ref "AWS::AccountId"
ArnLike:
- aws:SourceArn: !Sub "arn:aws:s3:::${CloudTrailLogsBucketName}"
+ aws:SourceArn: !Sub "arn:${AWS::Partition}:s3:::${CloudTrailLogsBucketName}"
Effect: Allow
Principal:
"Service": "s3.amazonaws.com"
diff --git a/aws-observability/apps/controltower/controltower.template.yaml b/aws-observability/apps/controltower/controltower.template.yaml
index 7cb6087f..1586acd8 100644
--- a/aws-observability/apps/controltower/controltower.template.yaml
+++ b/aws-observability/apps/controltower/controltower.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
-Description: "Version - v2.14.0: The Template should be deployed in Master account. This template setup the Lambda trigger for new account created using AWS Control Tower Account Factory process. The Lambda install the AWS Observability CF template on the regions of new AWS account using stack Sets."
+Description: "Version - v2.15.0: The Template should be deployed in Master account. This template setup the Lambda trigger for new account created using AWS Control Tower Account Factory process. The Lambda install the AWS Observability CF template on the regions of new AWS account using stack Sets."
Globals:
Function:
@@ -94,7 +94,7 @@ Resources:
- Sid: Allow administration of the key
Effect: Allow
Principal:
- AWS: !Sub arn:aws:iam::${AWS::AccountId}:root
+ AWS: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:root"
Action:
- kms:Create*
- kms:Describe*
@@ -168,7 +168,7 @@ Resources:
- 'cloudformation:CreateStackInstances'
- 'cloudformation:CreateStackSet'
- 'cloudformation:UpdateStackInstances'
- Resource: !Join [':',['arn:aws:cloudformation:*', !Ref 'AWS::AccountId', 'stackset/*:*']]
+ Resource: !Sub "arn:${AWS::Partition}:cloudformation:*:${AWS::AccountId}:stackset/*:*"
- Effect: Allow
Action:
- 's3:GetObject'
@@ -184,7 +184,7 @@ Resources:
- Effect: Allow
Action:
- iam:PassRole
- Resource: !Sub arn:${AWS::Partition}:iam::${AWS::AccountId}:role/service-role/AWSControlTowerStackSetRole
+ Resource: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/service-role/AWSControlTowerStackSetRole"
- PolicyName: Kms-Decrypt-Policy
PolicyDocument:
Version: '2012-10-17'
@@ -198,7 +198,7 @@ Resources:
- kms:Decrypt
Resource: !GetAtt SumoLogicControlTowerKMSKey.Arn
ManagedPolicyArns:
- - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
+ - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
TriggerCustomizationsOnLifeCycleEvent:
Type: AWS::Lambda::Function
@@ -213,7 +213,7 @@ Resources:
from botocore.exceptions import ClientError
name = 'SUMO-LOGIC-AWS-OBSERVABILITY'
- templateURL = "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ templateURL = "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
ALL = ["CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"]
@@ -283,13 +283,13 @@ Resources:
Handler: index.lambda_handler
MemorySize: 128
Role: !GetAtt "LambdaRoleToCaptureEvents.Arn"
- Runtime: python3.13
+ Runtime: python3.14
Timeout: 60
Environment:
Variables:
Deployment: !Ref Section1aSumoLogicDeployment
OrgId: !Ref Section1dSumoLogicOrganizationId
- AdminRole: !Sub arn:${AWS::Partition}:iam::${AWS::AccountId}:role/service-role/AWSControlTowerStackSetRole
+ AdminRole: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/service-role/AWSControlTowerStackSetRole"
ExecutionRole: !FindInMap [AWSControlTower, ExecutionRole, Name]
Regions: !Ref Section2aRegions
Secret: !Ref SumoLogicControlTowerSecret
diff --git a/aws-observability/apps/dynamodb/dynamodb_app.template.yaml b/aws-observability/apps/dynamodb/dynamodb_app.template.yaml
index 47516e3a..c3202809 100755
--- a/aws-observability/apps/dynamodb/dynamodb_app.template.yaml
+++ b/aws-observability/apps/dynamodb/dynamodb_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the DynamoDB app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the DynamoDB app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
diff --git a/aws-observability/apps/ec2metrics/ec2_metrics_app.template.yaml b/aws-observability/apps/ec2metrics/ec2_metrics_app.template.yaml
index d4988b69..fd7cc713 100755
--- a/aws-observability/apps/ec2metrics/ec2_metrics_app.template.yaml
+++ b/aws-observability/apps/ec2metrics/ec2_metrics_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the EC2 Metrics app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the EC2 Metrics app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
AWS::CloudFormation::Interface:
diff --git a/aws-observability/apps/ecs/ecs_app.template.yaml b/aws-observability/apps/ecs/ecs_app.template.yaml
index 870235d5..0801725a 100755
--- a/aws-observability/apps/ecs/ecs_app.template.yaml
+++ b/aws-observability/apps/ecs/ecs_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the ECS app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the ECS app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
diff --git a/aws-observability/apps/elasticache/elasticache_app.template.yaml b/aws-observability/apps/elasticache/elasticache_app.template.yaml
index af368ca7..92969cf2 100755
--- a/aws-observability/apps/elasticache/elasticache_app.template.yaml
+++ b/aws-observability/apps/elasticache/elasticache_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the ElastiCache app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the ElastiCache app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
diff --git a/aws-observability/apps/elb/elb_app.template.yaml b/aws-observability/apps/elb/elb_app.template.yaml
index 0d2ec0d0..55e18a61 100755
--- a/aws-observability/apps/elb/elb_app.template.yaml
+++ b/aws-observability/apps/elb/elb_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the ELB classic app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the ELB classic app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
@@ -288,10 +288,10 @@ Resources:
Type: 'AWS::Serverless::Function'
Properties:
Handler: main.handler
- Runtime: python3.13
+ Runtime: python3.14
CodeUri:
Bucket: !FindInMap [ RegionMap, !Ref 'AWS::Region', bucketname ]
- Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip"
+ Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip"
MemorySize: 128
Timeout: 900
Role:
diff --git a/aws-observability/apps/hostmetricsfields/host_metrics_add_fields.template.yaml b/aws-observability/apps/hostmetricsfields/host_metrics_add_fields.template.yaml
index 2de695b7..e0ece5f1 100644
--- a/aws-observability/apps/hostmetricsfields/host_metrics_add_fields.template.yaml
+++ b/aws-observability/apps/hostmetricsfields/host_metrics_add_fields.template.yaml
@@ -1,5 +1,5 @@
AWSTemplateFormatVersion: '2010-09-09'
-Description: "Version - v2.14.0: Lambda Function to add fields to host metrics sources based on the available instances in all regions of the current AWS account."
+Description: "Version - v2.15.0: Lambda Function to add fields to host metrics sources based on the available instances in all regions of the current AWS account."
Metadata:
'AWS::CloudFormation::Interface':
@@ -181,10 +181,10 @@ Resources:
Type: AWS::Lambda::Function
Properties:
Handler: main.handler
- Runtime: python3.13
+ Runtime: python3.14
Code:
S3Bucket: !FindInMap [RegionMap, !Ref 'AWS::Region', bucketname]
- S3Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip"
+ S3Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip"
MemorySize: 128
Timeout: 900
Role: !GetAtt LambdaRole.Arn
diff --git a/aws-observability/apps/lambda/lambda_app.template.yaml b/aws-observability/apps/lambda/lambda_app.template.yaml
index 11c89105..b90bc8ca 100755
--- a/aws-observability/apps/lambda/lambda_app.template.yaml
+++ b/aws-observability/apps/lambda/lambda_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the Lambda app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the Lambda app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
diff --git a/aws-observability/apps/nlb/nlb_app.template.yaml b/aws-observability/apps/nlb/nlb_app.template.yaml
index 31823989..fce368e5 100755
--- a/aws-observability/apps/nlb/nlb_app.template.yaml
+++ b/aws-observability/apps/nlb/nlb_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the NLB app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the NLB app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
diff --git a/aws-observability/apps/permissionchecker/permissioncheck.nested.template.test.yaml b/aws-observability/apps/permissionchecker/permissioncheck.nested.template.test.yaml
index da4996c5..4bdca213 100644
--- a/aws-observability/apps/permissionchecker/permissioncheck.nested.template.test.yaml
+++ b/aws-observability/apps/permissionchecker/permissioncheck.nested.template.test.yaml
@@ -1,5 +1,5 @@
AWSTemplateFormatVersion: '2010-09-09'
-Description: "Version - v2.14.0: This CloudFormation template will check for the permission required to deploy the AWS Observability CF template. Based on various error received, please provide the specific permissions to Sumo Logic role or AWS IAM Role used to deploy the template."
+Description: "Version - v2.15.0: This CloudFormation template will check for the permission required to deploy the AWS Observability CF template. Based on various error received, please provide the specific permissions to Sumo Logic role or AWS IAM Role used to deploy the template."
Transform: 'AWS::Serverless-2016-10-31'
Metadata:
@@ -207,6 +207,16 @@ Mappings:
cn-northwest-1:
AccountId: "037604701340"
+ SumoAWSAccountIds:
+ aws:
+ AWSAccountId: "246946804217"
+ aws-us-gov:
+ AWSAccountId: "246946804217"
+ aws-cn:
+ AWSAccountId: "246946804217"
+ aws-eusc:
+ AWSAccountId: "246946804217"
+
Resources:
################# Create Lambda Role and Lambda Function to create Sumo Logic Custom Resources #################
@@ -258,7 +268,9 @@ Resources:
Statement:
- Effect: Allow
Principal:
- AWS: arn:aws:iam::246946804217:root
+ AWS: !Sub
+ - "arn:${AWS::Partition}:iam::${AWSAccountId}:root"
+ - AWSAccountId: !FindInMap [SumoAWSAccountIds, !Ref "AWS::Partition", AWSAccountId]
Action: sts:AssumeRole
Condition:
StringEquals:
@@ -285,10 +297,10 @@ Resources:
Type: 'AWS::Serverless::Function'
Properties:
Handler: main.handler
- Runtime: python3.13
+ Runtime: python3.14
CodeUri:
Bucket: !FindInMap [RegionMap, !Ref 'AWS::Region', bucketname]
- Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip"
+ Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip"
MemorySize: 128
Timeout: 900
Role:
@@ -364,14 +376,14 @@ Resources:
Service: cloudtrail.amazonaws.com
Action: s3:GetBucketAcl
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}"
- Sid: AWSCloudTrailWrite
Effect: Allow
Principal:
Service: cloudtrail.amazonaws.com
Action: s3:PutObject
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}/*"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}/*"
Condition:
StringEquals:
s3:x-amz-acl: bucket-owner-full-control
@@ -381,32 +393,30 @@ Resources:
Service: cloudtrail.amazonaws.com
Action: s3:ListBucket
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}"
- Sid: AWSAlbLogsPutObjects
Effect: Allow
Principal:
- AWS: !Join
- - ""
- - - "arn:aws:iam::"
- - !FindInMap [Region2ELBAccountId, !Ref 'AWS::Region', AccountId]
- - ":root"
+ AWS: !Sub
+ - "arn:${AWS::Partition}:iam::${ELBAccount}:root"
+ - ELBAccount: !FindInMap [ Region2ELBAccountId, !Ref "AWS::Region", AccountId ]
Action: s3:PutObject
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}/*"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}/*"
- Sid: AWSAlbLogDeliveryAclCheck
Effect: Allow
Principal:
Service: delivery.logs.amazonaws.com
Action: s3:GetBucketAcl
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}"
- Sid: AWSAlbLogDeliveryWrite
Effect: Allow
Principal:
Service: delivery.logs.amazonaws.com
Action: s3:PutObject
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}/*"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}/*"
Condition:
StringEquals:
s3:x-amz-acl: bucket-owner-full-control
@@ -423,16 +433,15 @@ Resources:
StringEquals:
aws:SourceAccount: !Ref "AWS::AccountId"
ArnLike:
- aws:SourceArn: !Join
- - ""
- - - "arn:aws:s3:::aws-test-observability-logs-"
- - !Select
+ aws:SourceArn: !Sub
+ - "arn:${AWS::Partition}:s3:::aws-test-observability-logs-${StackSuffix}"
+ - StackSuffix: !Select
- 0
- !Split
- "-"
- !Select
- 2
- - !Split ["/", !Ref "AWS::StackId"]
+ - !Split [ "/", !Ref "AWS::StackId" ]
Effect: Allow
Principal:
"Service": "s3.amazonaws.com"
@@ -455,7 +464,7 @@ Resources:
Properties:
Location:
ApplicationId: arn:aws:serverlessrepo:us-east-1:956882708938:applications/sumologic-s3-logging-auto-enable
- SemanticVersion: 1.0.18
+ SemanticVersion: 1.0.19
Parameters:
BucketName: !Ref CommonS3Bucket
BucketPrefix: "elasticloadbalancing"
diff --git a/aws-observability/apps/permissionchecker/permissioncheck.nested.template.yaml b/aws-observability/apps/permissionchecker/permissioncheck.nested.template.yaml
index ccd33ca2..cfc5c0f5 100644
--- a/aws-observability/apps/permissionchecker/permissioncheck.nested.template.yaml
+++ b/aws-observability/apps/permissionchecker/permissioncheck.nested.template.yaml
@@ -1,5 +1,5 @@
AWSTemplateFormatVersion: '2010-09-09'
-Description: "Version - v2.14.0: This CloudFormation template will check for the permission required to deploy the AWS Observability CF template. Based on various error received, please provide the specific permissions to Sumo Logic role or AWS IAM Role used to deploy the template."
+Description: "Version - v2.15.0: This CloudFormation template will check for the permission required to deploy the AWS Observability CF template. Based on various error received, please provide the specific permissions to Sumo Logic role or AWS IAM Role used to deploy the template."
Transform: 'AWS::Serverless-2016-10-31'
Metadata:
@@ -215,6 +215,16 @@ Mappings:
cn-northwest-1:
AccountId: "037604701340"
+ SumoAWSAccountIds:
+ aws:
+ AWSAccountId: "926226587429"
+ aws-us-gov:
+ AWSAccountId: "926226587429"
+ aws-cn:
+ AWSAccountId: "926226587429"
+ aws-eusc:
+ AWSAccountId: "052162193518"
+
Resources:
################# Create Lambda Role and Lambda Function to create Sumo Logic Custom Resources #################
@@ -266,7 +276,9 @@ Resources:
Statement:
- Effect: Allow
Principal:
- AWS: arn:aws:iam::926226587429:root
+ AWS: !Sub
+ - "arn:${AWS::Partition}:iam::${AWSAccountId}:root"
+ - AWSAccountId: !FindInMap [ SumoAWSAccountIds, !Ref "AWS::Partition", AWSAccountId ]
Action: sts:AssumeRole
Condition:
StringEquals:
@@ -293,10 +305,10 @@ Resources:
Type: 'AWS::Serverless::Function'
Properties:
Handler: main.handler
- Runtime: python3.13
+ Runtime: python3.14
CodeUri:
Bucket: !FindInMap [RegionMap, !Ref 'AWS::Region', bucketname]
- Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip"
+ Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip"
MemorySize: 128
Timeout: 900
Role:
@@ -372,14 +384,14 @@ Resources:
Service: cloudtrail.amazonaws.com
Action: s3:GetBucketAcl
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}"
- Sid: AWSCloudTrailWrite
Effect: Allow
Principal:
Service: cloudtrail.amazonaws.com
Action: s3:PutObject
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}/*"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}/*"
Condition:
StringEquals:
s3:x-amz-acl: bucket-owner-full-control
@@ -389,32 +401,30 @@ Resources:
Service: cloudtrail.amazonaws.com
Action: s3:ListBucket
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}"
- Sid: AWSAlbLogsPutObjects
Effect: Allow
Principal:
- AWS: !Join
- - ""
- - - "arn:aws:iam::"
- - !FindInMap [Region2ELBAccountId, !Ref 'AWS::Region', AccountId]
- - ":root"
+ AWS: !Sub
+ - "arn:${AWS::Partition}:iam::${ELBAccount}:root"
+ - ELBAccount: !FindInMap [ Region2ELBAccountId, !Ref "AWS::Region", AccountId ]
Action: s3:PutObject
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}/*"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}/*"
- Sid: AWSAlbLogDeliveryAclCheck
Effect: Allow
Principal:
Service: delivery.logs.amazonaws.com
Action: s3:GetBucketAcl
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}"
- Sid: AWSAlbLogDeliveryWrite
Effect: Allow
Principal:
Service: delivery.logs.amazonaws.com
Action: s3:PutObject
Resource:
- - !Sub "arn:aws:s3:::${CommonS3Bucket}/*"
+ - !Sub "arn:${AWS::Partition}:s3:::${CommonS3Bucket}/*"
Condition:
StringEquals:
s3:x-amz-acl: bucket-owner-full-control
@@ -431,16 +441,15 @@ Resources:
StringEquals:
aws:SourceAccount: !Ref "AWS::AccountId"
ArnLike:
- aws:SourceArn: !Join
- - ""
- - - "arn:aws:s3:::aws-test-observability-logs-"
- - !Select
+ aws:SourceArn: !Sub
+ - "arn:${AWS::Partition}:s3:::aws-test-observability-logs-${AccountSuffix}"
+ - AccountSuffix: !Select
- 0
- !Split
- "-"
- !Select
- 2
- - !Split ["/", !Ref "AWS::StackId"]
+ - !Split [ "/", !Ref "AWS::StackId" ]
Effect: Allow
Principal:
"Service": "s3.amazonaws.com"
@@ -463,7 +472,7 @@ Resources:
Properties:
Location:
ApplicationId: arn:aws:serverlessrepo:us-east-1:956882708938:applications/sumologic-s3-logging-auto-enable
- SemanticVersion: 1.0.18
+ SemanticVersion: 1.0.19
Parameters:
BucketName: !Ref CommonS3Bucket
BucketPrefix: "elasticloadbalancing"
diff --git a/aws-observability/apps/permissionchecker/permissioncheck.template.test.yaml b/aws-observability/apps/permissionchecker/permissioncheck.template.test.yaml
index 70b96449..4becf68b 100644
--- a/aws-observability/apps/permissionchecker/permissioncheck.template.test.yaml
+++ b/aws-observability/apps/permissionchecker/permissioncheck.template.test.yaml
@@ -1,5 +1,5 @@
AWSTemplateFormatVersion: '2010-09-09'
-Description: "Version - v2.14.0: Note: Before deploying this template, please select the appropriate region. This CloudFormation template will check for the permission required to deploy the AWS Observability CF template. Based on various error received, please provide the specific permissions to Sumo Logic role or AWS IAM Role used to deploy the template."
+Description: "Version - v2.15.0: Note: Before deploying this template, please select the appropriate region. This CloudFormation template will check for the permission required to deploy the AWS Observability CF template. Based on various error received, please provide the specific permissions to Sumo Logic role or AWS IAM Role used to deploy the template."
Transform: 'AWS::Serverless-2016-10-31'
Metadata:
@@ -51,7 +51,7 @@ Mappings:
CommonData:
NestedTemplate:
BucketName: "sumologic-appdev-aws-sam-apps"
- Version: "v2.14.0"
+ Version: "v2.15.0"
Resources:
@@ -133,7 +133,7 @@ Resources:
- "cloudwatch:DeleteMetricStream"
Resource: "*"
ManagedPolicyArns:
- - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
+ - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
DeleteCFNLambda:
Type: "AWS::Lambda::Function"
@@ -207,7 +207,7 @@ Resources:
stackArn: !Ref PermissionStack
AwsRegion: !Ref AWS::Region
Handler: "index.lambda_handler"
- Runtime: "python3.13"
+ Runtime: "python3.14"
Timeout: 900
MemorySize: 128
Role: !GetAtt "LambdaRole.Arn"
diff --git a/aws-observability/apps/permissionchecker/permissioncheck.template.yaml b/aws-observability/apps/permissionchecker/permissioncheck.template.yaml
index aa2f626f..0022950c 100644
--- a/aws-observability/apps/permissionchecker/permissioncheck.template.yaml
+++ b/aws-observability/apps/permissionchecker/permissioncheck.template.yaml
@@ -1,5 +1,5 @@
AWSTemplateFormatVersion: '2010-09-09'
-Description: "Version - v2.14.0. Note: Before deploying this template, please select the appropriate region. This CloudFormation template will check for the permission required to deploy the AWS Observability CF template. Based on various error received, please provide the specific permissions to Sumo Logic role or AWS IAM Role used to deploy the template."
+Description: "Version - v2.15.0. Note: Before deploying this template, please select the appropriate region. This CloudFormation template will check for the permission required to deploy the AWS Observability CF template. Based on various error received, please provide the specific permissions to Sumo Logic role or AWS IAM Role used to deploy the template."
Transform: 'AWS::Serverless-2016-10-31'
Metadata:
@@ -59,7 +59,7 @@ Mappings:
CommonData:
NestedTemplate:
BucketName: "sumologic-appdev-aws-sam-apps"
- Version: "v2.14.0"
+ Version: "v2.15.0"
Resources:
@@ -141,7 +141,7 @@ Resources:
- "cloudwatch:DeleteMetricStream"
Resource: "*"
ManagedPolicyArns:
- - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
+ - !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
DeleteCFNLambda:
Type: "AWS::Lambda::Function"
@@ -215,7 +215,7 @@ Resources:
stackArn: !Ref PermissionStack
AwsRegion: !Ref AWS::Region
Handler: "index.lambda_handler"
- Runtime: "python3.13"
+ Runtime: "python3.14"
Timeout: 900
MemorySize: 128
Role: !GetAtt "LambdaRole.Arn"
diff --git a/aws-observability/apps/rds/rds_app.template.yaml b/aws-observability/apps/rds/rds_app.template.yaml
index e7d909e7..f62e623c 100755
--- a/aws-observability/apps/rds/rds_app.template.yaml
+++ b/aws-observability/apps/rds/rds_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the RDS app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the RDS app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
diff --git a/aws-observability/apps/sns/sns_app.template.yaml b/aws-observability/apps/sns/sns_app.template.yaml
index f5508643..79029f51 100755
--- a/aws-observability/apps/sns/sns_app.template.yaml
+++ b/aws-observability/apps/sns/sns_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the SNS app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the SNS app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
diff --git a/aws-observability/apps/sqs/sqs_app.template.yaml b/aws-observability/apps/sqs/sqs_app.template.yaml
index 6e17b6a5..f4eba713 100755
--- a/aws-observability/apps/sqs/sqs_app.template.yaml
+++ b/aws-observability/apps/sqs/sqs_app.template.yaml
@@ -1,6 +1,6 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
-Description: "Version - v2.14.0: Template to setup the SQS app with AWS and Sumo Logic resources for AWS Observability Solution."
+Description: "Version - v2.15.0: Template to setup the SQS app with AWS and Sumo Logic resources for AWS Observability Solution."
Metadata:
'AWS::CloudFormation::Interface':
diff --git a/aws-observability/json/Alerts-App.json b/aws-observability/json/Alerts-App.json
index 09696255..831e8e8c 100644
--- a/aws-observability/json/Alerts-App.json
+++ b/aws-observability/json/Alerts-App.json
@@ -1284,7 +1284,7 @@
"queries": [
{
"rowId": "A",
- "query": "account=* region=* namespace=aws/sns \"\\\"eventsource\\\":\\\"sns.amazonaws.com\\\"\" errorCode \n| json \"userIdentity\", \"eventSource\", \"eventName\", \"awsRegion\", \"sourceIPAddress\", \"userAgent\", \"eventType\", \"recipientAccountId\", \"requestParameters\", \"responseElements\", \"requestID\", \"errorCode\", \"errorMessage\" as userIdentity, event_source, event_name, region, src_ip, user_agent, event_type, recipient_account_id, requestParameters, responseElements, request_id, error_code, error_message nodrop \n| where event_source = \"sns.amazonaws.com\" and !isblank(error_code) \n| json field=userIdentity \"accountId\", \"type\", \"arn\", \"userName\" as accountid, type, arn, username nodrop \n| parse field=arn \":assumed-role/*\" as user nodrop \n| parse field=arn \"arn:aws:iam::*:*\" as accountId, user nodrop \n| json field=requestParameters \"topicArn\", \"name\", \"resourceArn\", \"subscriptionArn\" as req_topic_arn, req_topic_name, resource_arn, subscription_arn nodrop \n| json field=responseElements \"topicArn\" as res_topic_arn nodrop \n| if (isBlank(req_topic_arn), res_topic_arn, req_topic_arn) as topic_arn \n| if (isBlank(topic_arn), resource_arn, topic_arn) as topic_arn \n| parse field=topic_arn \"arn:aws:sns:*:*:*\" as region_temp, accountid_temp, topic_arn_name_temp nodrop \n| parse field=subscription_arn \"arn:aws:sns:*:*:*:*\" as region_temp, accountid_temp, topic_arn_name_temp, arn_value_temp nodrop \n| if (isBlank(req_topic_name), topic_arn_name_temp, req_topic_name) as topicname \n| if (isBlank(accountid), recipient_account_id, accountid) as accountid \n| if (isEmpty(error_code), \"Success\", \"Failure\") as event_status \n| if (isEmpty(username), user, username) as user \n| count as event_count by event_name, error_code, error_message, region, src_ip, accountid, user, type, request_id, topicname, topic_arn, user_agent"
+ "query": "account=* region=* namespace=aws/sns \"\\\"eventsource\\\":\\\"sns.amazonaws.com\\\"\" errorCode \n| json \"userIdentity\", \"eventSource\", \"eventName\", \"awsRegion\", \"sourceIPAddress\", \"userAgent\", \"eventType\", \"recipientAccountId\", \"requestParameters\", \"responseElements\", \"requestID\", \"errorCode\", \"errorMessage\" as userIdentity, event_source, event_name, region, src_ip, user_agent, event_type, recipient_account_id, requestParameters, responseElements, request_id, error_code, error_message nodrop \n| where event_source = \"sns.amazonaws.com\" and !isblank(error_code) \n| json field=userIdentity \"accountId\", \"type\", \"arn\", \"userName\" as accountid, type, arn, username nodrop \n| parse field=arn \":assumed-role/*\" as user nodrop \n| parse field=arn \"arn:*:iam::*:*\" as arn_part, accountId, user nodrop \n| json field=requestParameters \"topicArn\", \"name\", \"resourceArn\", \"subscriptionArn\" as req_topic_arn, req_topic_name, resource_arn, subscription_arn nodrop \n| json field=responseElements \"topicArn\" as res_topic_arn nodrop \n| if (isBlank(req_topic_arn), res_topic_arn, req_topic_arn) as topic_arn \n| if (isBlank(topic_arn), resource_arn, topic_arn) as topic_arn \n| parse field=topic_arn \"arn:*:sns:*:*:*\" as arn_part, region_temp, accountid_temp, topic_arn_name_temp nodrop \n| parse field=subscription_arn \"arn:*:sns:*:*:*:*\" as arn_part, region_temp, accountid_temp, topic_arn_name_temp, arn_value_temp nodrop \n| if (isBlank(req_topic_name), topic_arn_name_temp, req_topic_name) as topicname \n| if (isBlank(accountid), recipient_account_id, accountid) as accountid \n| if (isEmpty(error_code), \"Success\", \"Failure\") as event_status \n| if (isEmpty(username), user, username) as user \n| count as event_count by event_name, error_code, error_message, region, src_ip, accountid, user, type, request_id, topicname, topic_arn, user_agent"
}
],
"triggers": [
@@ -1905,7 +1905,7 @@
"queries": [
{
"rowId": "A",
- "query": "account=* region=* namespace=aws/sns \"\\\"eventsource\\\":\\\"sns.amazonaws.com\\\"\" sourceIPAddress \n| json \"userIdentity\", \"eventSource\", \"eventName\", \"awsRegion\", \"sourceIPAddress\", \"userAgent\", \"eventType\", \"recipientAccountId\", \"requestParameters\", \"responseElements\", \"requestID\", \"errorCode\", \"errorMessage\" as userIdentity, event_source, event_name, region, src_ip, user_agent, event_type, recipient_account_id, requestParameters, responseElements, request_id, error_code, error_message nodrop \n| where event_source = \"sns.amazonaws.com\" \n| json field=userIdentity \"accountId\", \"type\", \"arn\", \"userName\" as accountid, user_type, arn, username nodrop \n| parse field=arn \":assumed-role/*\" as user nodrop \n| parse field=arn \"arn:aws:iam::*:*\" as accountid, user nodrop \n| json field=requestParameters \"topicArn\", \"name\", \"resourceArn\", \"subscriptionArn\" as req_topic_arn, req_topic_name, resource_arn, subscription_arn nodrop \n| json field=responseElements \"topicArn\" as res_topic_arn nodrop \n| if (isBlank(req_topic_arn), res_topic_arn, req_topic_arn) as topic_arn \n| if (isBlank(topic_arn), resource_arn, topic_arn) as topic_arn \n| parse field=topic_arn \"arn:aws:sns:*:*:*\" as region_temp, accountid_temp, topic_arn_name_temp nodrop \n| parse field=subscription_arn \"arn:aws:sns:*:*:*:*\" as region_temp, accountid_temp, topic_arn_name_temp, arn_value_temp nodrop \n| if (isBlank(req_topic_name), topic_arn_name_temp, req_topic_name) as topicname \n| if (isBlank(accountid), recipient_account_id, accountid) as accountid \n| if (isEmpty(error_code), \"Success\", \"Failure\") as event_status \n| if (isEmpty(username), user_type, username) as user_type \n| count as ip_count by src_ip, event_name, region, accountid,user_type \n| lookup type, actor, raw, threatlevel as malicious_confidence from sumo://threat/cs on threat=src_ip \n| where malicious_confidence = \"high\" \n| json field=raw \"labels[*].name\" as label_name nodrop\n| replace(label_name, \"\\\\/\",\"->\") as label_name \n| replace(label_name, \"\\\"\",\" \") as label_name \n| if (isEmpty(actor), \"Unassigned\", actor) as actor \n| sum(ip_count) as threat_count by src_ip, event_name, region, accountid, malicious_confidence, actor, label_name"
+ "query": "account=* region=* namespace=aws/sns \"\\\"eventsource\\\":\\\"sns.amazonaws.com\\\"\" sourceIPAddress \n| json \"userIdentity\", \"eventSource\", \"eventName\", \"awsRegion\", \"sourceIPAddress\", \"userAgent\", \"eventType\", \"recipientAccountId\", \"requestParameters\", \"responseElements\", \"requestID\", \"errorCode\", \"errorMessage\" as userIdentity, event_source, event_name, region, src_ip, user_agent, event_type, recipient_account_id, requestParameters, responseElements, request_id, error_code, error_message nodrop \n| where event_source = \"sns.amazonaws.com\" \n| json field=userIdentity \"accountId\", \"type\", \"arn\", \"userName\" as accountid, user_type, arn, username nodrop \n| parse field=arn \":assumed-role/*\" as user nodrop \n| parse field=arn \"arn:*:iam::*:*\" as arn_part, accountid, user nodrop \n| json field=requestParameters \"topicArn\", \"name\", \"resourceArn\", \"subscriptionArn\" as req_topic_arn, req_topic_name, resource_arn, subscription_arn nodrop \n| json field=responseElements \"topicArn\" as res_topic_arn nodrop \n| if (isBlank(req_topic_arn), res_topic_arn, req_topic_arn) as topic_arn \n| if (isBlank(topic_arn), resource_arn, topic_arn) as topic_arn \n| parse field=topic_arn \"arn:*:sns:*:*:*\" as arn_part, region_temp, accountid_temp, topic_arn_name_temp nodrop \n| parse field=subscription_arn \"arn:*:sns:*:*:*:*\" as arn_part, region_temp, accountid_temp, topic_arn_name_temp, arn_value_temp nodrop \n| if (isBlank(req_topic_name), topic_arn_name_temp, req_topic_name) as topicname \n| if (isBlank(accountid), recipient_account_id, accountid) as accountid \n| if (isEmpty(error_code), \"Success\", \"Failure\") as event_status \n| if (isEmpty(username), user_type, username) as user_type \n| count as ip_count by src_ip, event_name, region, accountid,user_type \n| lookup type, actor, raw, threatlevel as malicious_confidence from sumo://threat/cs on threat=src_ip \n| where malicious_confidence = \"high\" \n| json field=raw \"labels[*].name\" as label_name nodrop\n| replace(label_name, \"\\\\/\",\"->\") as label_name \n| replace(label_name, \"\\\"\",\" \") as label_name \n| if (isEmpty(actor), \"Unassigned\", actor) as actor \n| sum(ip_count) as threat_count by src_ip, event_name, region, accountid, malicious_confidence, actor, label_name"
}
],
"triggers": [
@@ -2702,7 +2702,7 @@
"queries": [
{
"rowId": "A",
- "query": "account=* region=* namespace=aws/elasticache \"\\\"eventSource\\\":\\\"elasticache.amazonaws.com\\\"\" errorCode errorMessage\n| json \"eventSource\", \"errorCode\", \"errorMessage\", \"userIdentity\", \"requestParameters\", \"responseElements\" as event_source, error_code, error_message, user_identity, requestParameters, responseElements nodrop\n| json field=requestParameters \"cacheClusterId\" as req_cacheClusterId nodrop\n| json field=responseElements \"cacheClusterId\" as res_cacheClusterId nodrop\n| json field=user_identity \"arn\", \"userName\" nodrop \n| parse field=arn \":assumed-role/*\" as user nodrop \n| parse field=arn \"arn:aws:iam::*:*\" as accountId, user nodrop\n| if (isEmpty(userName), user, userName) as user\n| if (isEmpty(req_cacheClusterId), res_cacheClusterId, req_cacheClusterId) as cacheclusterid\n| where event_source matches \"elasticache.amazonaws.com\" and !isEmpty(error_code) and !isEmpty(error_message) and !isEmpty(user)\n| count as event_count by _messageTime, account, region, event_source, error_code, error_message, user, cacheclusterid\n| formatDate(_messageTime, \"MM/dd/yyyy HH:mm:ss:SSS Z\") as message_date\n| fields message_date, account, region, event_source, error_code, error_message, user, cacheclusterid\n| fields -_messageTime"
+ "query": "account=* region=* namespace=aws/elasticache \"\\\"eventSource\\\":\\\"elasticache.amazonaws.com\\\"\" errorCode errorMessage\n| json \"eventSource\", \"errorCode\", \"errorMessage\", \"userIdentity\", \"requestParameters\", \"responseElements\" as event_source, error_code, error_message, user_identity, requestParameters, responseElements nodrop\n| json field=requestParameters \"cacheClusterId\" as req_cacheClusterId nodrop\n| json field=responseElements \"cacheClusterId\" as res_cacheClusterId nodrop\n| json field=user_identity \"arn\", \"userName\" nodrop \n| parse field=arn \":assumed-role/*\" as user nodrop \n| parse field=arn \"arn:*:iam::*:*\" as arn_part, accountId, user nodrop\n| if (isEmpty(userName), user, userName) as user\n| if (isEmpty(req_cacheClusterId), res_cacheClusterId, req_cacheClusterId) as cacheclusterid\n| where event_source matches \"elasticache.amazonaws.com\" and !isEmpty(error_code) and !isEmpty(error_message) and !isEmpty(user)\n| count as event_count by _messageTime, account, region, event_source, error_code, error_message, user, cacheclusterid\n| formatDate(_messageTime, \"MM/dd/yyyy HH:mm:ss:SSS Z\") as message_date\n| fields message_date, account, region, event_source, error_code, error_message, user, cacheclusterid\n| fields -_messageTime"
}
],
"triggers": [
diff --git a/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOPosix.sh b/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOPosix.sh
index 3f9d2cb8..a65d29d6 100644
--- a/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOPosix.sh
+++ b/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOPosix.sh
@@ -51,7 +51,7 @@ then
AWS_REGION=us-east-1;
fi
-masterTemplateURL="https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+masterTemplateURL="https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
#identify sumo deployment associated with sumo accessId and accessKey
export apiUrl="https://api.sumologic.com"
diff --git a/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOPosixTest.sh b/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOPosixTest.sh
index 38ad48ba..541f7051 100644
--- a/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOPosixTest.sh
+++ b/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOPosixTest.sh
@@ -51,7 +51,7 @@ then
AWS_REGION=us-east-1;
fi
-masterTemplateURL="https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+masterTemplateURL="https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
#identify sumo deployment associated with sumo accessId and accessKey
export apiUrl="https://api.sumologic.com"
diff --git a/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOWin.ps1 b/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOWin.ps1
index c3e2ba3b..2544ac2a 100644
--- a/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOWin.ps1
+++ b/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOWin.ps1
@@ -41,7 +41,7 @@ $now=Get-Date
echo "AWS Observability Script initiated at : $now"
#identify sumo deployment associated with sumo accessId and accessKey
-$masterTemplateURL="https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+$masterTemplateURL="https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
$apiUrl="https://api.sumologic.com"
$deployment="us1"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
diff --git a/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOWinTest.ps1 b/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOWinTest.ps1
index 2aac48b3..fe26c76f 100644
--- a/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOWinTest.ps1
+++ b/aws-observability/scripts/AWSOAutoSetupScript/DeployAWSOWinTest.ps1
@@ -41,7 +41,7 @@ $now=Get-Date
echo "AWS Observability Script initiated at : $now"
#identify sumo deployment associated with sumo accessId and accessKey
-$masterTemplateURL="https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+$masterTemplateURL="https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
$apiUrl="https://api.sumologic.com"
$deployment="us1"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
diff --git a/aws-observability/templates/sumologic_observability.master.template.yaml b/aws-observability/templates/sumologic_observability.master.template.yaml
index a4c5dd46..1a9e7065 100644
--- a/aws-observability/templates/sumologic_observability.master.template.yaml
+++ b/aws-observability/templates/sumologic_observability.master.template.yaml
@@ -1,5 +1,5 @@
AWSTemplateFormatVersion: '2010-09-09'
-Description: "Version - v2.14.0. Note: Before deploying this template, please select the appropriate region. This CloudFormation template will automate the setup of the AWS Observability Solution. For more information on each parameter, please see the AWS Observability Setup Guide: https://help.sumologic.com/Observability_Solution/AWS_Observability_Solution/01_Deploy_and_Use_AWS_Observability/05_Deploy_AWS_Observability"
+Description: "Version - v2.15.0. Note: Before deploying this template, please select the appropriate region. This CloudFormation template will automate the setup of the AWS Observability Solution. For more information on each parameter, please see the AWS Observability Setup Guide: https://help.sumologic.com/Observability_Solution/AWS_Observability_Solution/01_Deploy_and_Use_AWS_Observability/05_Deploy_AWS_Observability"
Metadata:
'AWS::CloudFormation::Interface':
@@ -463,7 +463,7 @@ Mappings:
CommonData:
NestedTemplate:
BucketName: "sumologic-appdev-aws-sam-apps"
- Version: "v2.14.0"
+ Version: "v2.15.0"
CollectorDetails:
SumoLogicAccountID: 926226587429
CollectorNamePrefix: "aws-observability"
@@ -550,7 +550,7 @@ Resources:
Action:
- lambda:InvokeFunction
- lambda:DeleteFunction
- Resource: !Sub 'arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:*TelemetryLambda*'
+ Resource: !Sub 'arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:*TelemetryLambda*'
- PolicyName: BasicLambdaPolicies
PolicyDocument:
Version: '2012-10-17'
@@ -576,7 +576,7 @@ Resources:
DeletionPolicy: Retain
Properties:
Handler: lambda_function.lambda_handler
- Runtime: python3.13
+ Runtime: python3.14
Code:
S3Bucket: !FindInMap [ RegionMap, !Ref 'AWS::Region', bucketname ]
S3Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/telemetryv1.1.0.zip"
@@ -607,7 +607,7 @@ Resources:
sumoOrgId:
!Ref Section1dSumoLogicOrganizationId
solutionName: 'AWSO'
- solutionVersion: 'v2.14.0'
+ solutionVersion: 'v2.15.0'
deploymentSource: 'cloudFormation'
TelemetryEndpoint: "https://endpoint1.collection.us2.sumologic.com/receiver/v1/http/ZaVnC4dhaV1S68eao6UYB3LFtqQ7ur1xYlT1EHCfXdhvi6uPNc0aUXIpvq5i_aHewOp5xxxwnGZ5MmSWDR6qV5td4exMM4pZE4Tk6rqKvgextLx7I6IRpg=="
scanInterval: 60
diff --git a/aws-observability/templates/sumologic_observability.mp.test.yaml b/aws-observability/templates/sumologic_observability.mp.test.yaml
index 26066347..6d3150bc 100755
--- a/aws-observability/templates/sumologic_observability.mp.test.yaml
+++ b/aws-observability/templates/sumologic_observability.mp.test.yaml
@@ -1,5 +1,5 @@
AWSTemplateFormatVersion: '2010-09-09'
-Description: "Version - v2.14.0. Note: Before deploying this template, please select the appropriate region. This CloudFormation template will automate the setup of the AWS Observability Solution. For more information on each parameter, please see the AWS Observability Setup Guide: https://help.sumologic.com/Observability_Solution/AWS_Observability_Solution/01_Deploy_and_Use_AWS_Observability/05_Deploy_AWS_Observability"
+Description: "Version - v2.15.0. Note: Before deploying this template, please select the appropriate region. This CloudFormation template will automate the setup of the AWS Observability Solution. For more information on each parameter, please see the AWS Observability Setup Guide: https://help.sumologic.com/Observability_Solution/AWS_Observability_Solution/01_Deploy_and_Use_AWS_Observability/05_Deploy_AWS_Observability"
Metadata:
'AWS::CloudFormation::Interface':
@@ -488,7 +488,7 @@ Mappings:
CommonData:
NestedTemplate:
BucketName: "sumologic-appdev-aws-sam-apps"
- Version: "v2.14.0"
+ Version: "v2.15.0"
CollectorDetails:
SumoLogicAccountID: 246946804217
CollectorNamePrefix: "aws-observability"
@@ -554,7 +554,7 @@ Resources:
Description: "A function to retrieve secrets from a provided secrets arn."
Role: !GetAtt LambdaExecutionRoleSecretsRetrieval.Arn
Handler: "index.handler"
- Runtime: "python3.13"
+ Runtime: "python3.14"
Timeout: 30
Code:
ZipFile: |
diff --git a/aws-observability/templates/sumologic_observability.mp.yaml b/aws-observability/templates/sumologic_observability.mp.yaml
index 094d56be..8c0cbfeb 100755
--- a/aws-observability/templates/sumologic_observability.mp.yaml
+++ b/aws-observability/templates/sumologic_observability.mp.yaml
@@ -1,5 +1,5 @@
AWSTemplateFormatVersion: '2010-09-09'
-Description: "Version - v2.14.0. Note: Before deploying this template, please select the appropriate region. This CloudFormation template will automate the setup of the AWS Observability Solution. For more information on each parameter, please see the AWS Observability Setup Guide: https://help.sumologic.com/Observability_Solution/AWS_Observability_Solution/01_Deploy_and_Use_AWS_Observability/05_Deploy_AWS_Observability"
+Description: "Version - v2.15.0. Note: Before deploying this template, please select the appropriate region. This CloudFormation template will automate the setup of the AWS Observability Solution. For more information on each parameter, please see the AWS Observability Setup Guide: https://help.sumologic.com/Observability_Solution/AWS_Observability_Solution/01_Deploy_and_Use_AWS_Observability/05_Deploy_AWS_Observability"
Metadata:
'AWS::CloudFormation::Interface':
@@ -486,7 +486,7 @@ Mappings:
CommonData:
NestedTemplate:
BucketName: "sumologic-appdev-aws-sam-apps"
- Version: "v2.14.0"
+ Version: "v2.15.0"
CollectorDetails:
SumoLogicAccountID: 926226587429
CollectorNamePrefix: "aws-observability"
@@ -552,7 +552,7 @@ Resources:
Description: "A function to retrieve secrets from a provided secrets arn."
Role: !GetAtt LambdaExecutionRoleSecretsRetrieval.Arn
Handler: "index.handler"
- Runtime: "python3.13"
+ Runtime: "python3.14"
Timeout: 30
Code:
ZipFile: |
diff --git a/aws-observability/templates/test/TestTemplate.yaml b/aws-observability/templates/test/TestTemplate.yaml
index a8417c59..08caa977 100644
--- a/aws-observability/templates/test/TestTemplate.yaml
+++ b/aws-observability/templates/test/TestTemplate.yaml
@@ -263,9 +263,9 @@ Tests:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: 'arn::firehose:'
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
BucketName: 'aws-observability-logs'
AutoEnableResourceOptions: 'Both'
@@ -275,9 +275,9 @@ Tests:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: 'arn::firehose:'
LogGroupPattern: '\/aws\/(lambda|apigateway|rds)'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'Yes'
sumoAlbMetricsAppStack:
@@ -588,9 +588,9 @@ Tests:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: 'arn::firehose:'
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
BucketName: 'aws-observability-logs'
AutoEnableResourceOptions: 'Both'
@@ -600,9 +600,9 @@ Tests:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: 'arn::firehose:'
LogGroupPattern: 'lambda'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'Yes'
sumoAlbMetricsAppStack:
@@ -921,9 +921,9 @@ Tests:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: 'arn::firehose:'
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
BucketName: 'aws-observability-logs'
AutoEnableResourceOptions: 'Both'
@@ -933,9 +933,9 @@ Tests:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: 'arn::firehose:'
LogGroupPattern: 'lambda'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'Yes'
sumoAlbMetricsAppStack:
@@ -1370,7 +1370,7 @@ Tests:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'New'
AutoSubscribeDestinationARNType: 'Lambda'
- AutoSubscribeDestinationARNValue: 'arn:aws:lambda:'
+ AutoSubscribeDestinationARNValue: 'arn::lambda:'
AutoSubscribeLogGroupPattern: 'lambda'
AutoSubscribeRoleArn: ""
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
@@ -1382,7 +1382,7 @@ Tests:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'false'
DestinationArnType: 'Lambda'
- DestinationArnValue: 'arn:aws:lambda:'
+ DestinationArnValue: 'arn::lambda:'
LogGroupPattern: 'lambda'
RoleArn: ""
sumoEC2MetricsAppStack:
@@ -3092,15 +3092,15 @@ Tests:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: 'arn::firehose:'
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: 'arn::firehose:'
LogGroupPattern: 'lambda'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'No'
sumoAlbMetricsAppStack:
@@ -3417,9 +3417,9 @@ Tests:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: 'arn::firehose:'
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
BucketName: 'aws-observability-logs'
AutoEnableResourceOptions: 'Both'
@@ -3429,9 +3429,9 @@ Tests:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: 'arn::firehose:'
LogGroupPattern: 'lambda'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'Yes'
sumoAlbMetricsAppStack:
diff --git a/aws-observability/templates/test/requirements.txt b/aws-observability/templates/test/requirements.txt
index e1280e76..c82871e9 100644
--- a/aws-observability/templates/test/requirements.txt
+++ b/aws-observability/templates/test/requirements.txt
@@ -1,5 +1,5 @@
# sumologic-cfn-tester
-requests==2.32.5
+requests==2.33.0
cfn-lint==0.86.0
jsonschema>=3.2.0
cfn-flip==1.3.0
diff --git a/aws-observability/templates/test/setup-infra/create_sumo_cloudtrail_source.yaml b/aws-observability/templates/test/setup-infra/create_sumo_cloudtrail_source.yaml
index ecc10b88..5b6681f1 100644
--- a/aws-observability/templates/test/setup-infra/create_sumo_cloudtrail_source.yaml
+++ b/aws-observability/templates/test/setup-infra/create_sumo_cloudtrail_source.yaml
@@ -5,7 +5,7 @@ Parameters:
SumoLogicDeployment:
Type: String
Default: ""
- Description: "Enter au, ca, ch, de, eu, fed, jp, kr, us1 or us2"
+ Description: "Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2"
SumoLogicAccessID:
Type: String
Description: "Sumo Logic Access ID. Used for Sumo Logic API calls."
@@ -54,6 +54,8 @@ Mappings:
apiendpoint: "https://api.de.sumologic.com/api/"
eu:
apiendpoint: "https://api.eu.sumologic.com/api/"
+ esc:
+ apiendpoint: "https://api.esc.sumologic.com/api/"
fed:
apiendpoint: "https://api.fed.sumologic.com/api/"
jp:
@@ -83,10 +85,10 @@ Resources:
- s3:ListBucket
Resource:
- !Sub
- - "arn:aws:s3:::${S3Bucket}"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}"
- S3Bucket: !Ref CloudTrailLogsBucketName
- !Sub
- - "arn:aws:s3:::${S3Bucket}/*"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}/*"
- S3Bucket: !Ref CloudTrailLogsBucketName
CloudTrailSource:
diff --git a/aws-observability/templates/test/setup-infra/create_sumo_cloudwatch_lb_source.yaml b/aws-observability/templates/test/setup-infra/create_sumo_cloudwatch_lb_source.yaml
index a2e64c09..e0d3137d 100644
--- a/aws-observability/templates/test/setup-infra/create_sumo_cloudwatch_lb_source.yaml
+++ b/aws-observability/templates/test/setup-infra/create_sumo_cloudwatch_lb_source.yaml
@@ -5,7 +5,7 @@ Parameters:
SumoLogicDeployment:
Type: String
Default: ""
- Description: "Enter au, ca, ch, de, eu, fed, jp, kr, us1 or us2"
+ Description: "Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2"
SumoLogicAccessID:
Type: String
Description: "Sumo Logic Access ID. Used for Sumo Logic API calls."
@@ -54,6 +54,8 @@ Mappings:
apiendpoint: "https://api.de.sumologic.com/api/"
eu:
apiendpoint: "https://api.eu.sumologic.com/api/"
+ esc:
+ apiendpoint: "https://api.esc.sumologic.com/api/"
fed:
apiendpoint: "https://api.fed.sumologic.com/api/"
jp:
@@ -83,10 +85,10 @@ Resources:
- s3:ListBucket
Resource:
- !Sub
- - "arn:aws:s3:::${S3Bucket}"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}"
- S3Bucket: !Ref LBLogsBucketName
- !Sub
- - "arn:aws:s3:::${S3Bucket}/*"
+ - "arn:${AWS::Partition}:s3:::${S3Bucket}/*"
- S3Bucket: !Ref LBLogsBucketName
ALBSource:
Type: Custom::AWSSource
diff --git a/aws-observability/templates/test/setup-infra/create_sumo_cloudwatch_log_source.yaml b/aws-observability/templates/test/setup-infra/create_sumo_cloudwatch_log_source.yaml
index f8459fbf..af02f41e 100644
--- a/aws-observability/templates/test/setup-infra/create_sumo_cloudwatch_log_source.yaml
+++ b/aws-observability/templates/test/setup-infra/create_sumo_cloudwatch_log_source.yaml
@@ -5,7 +5,7 @@ Parameters:
SumoLogicDeployment:
Type: String
Default: ""
- Description: "Enter au, ca, ch, de, eu, fed, jp, kr, us1 or us2"
+ Description: "Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2"
SumoLogicAccessID:
Type: String
Description: "Sumo Logic Access ID. Used for Sumo Logic API calls."
@@ -45,6 +45,8 @@ Mappings:
apiendpoint: "https://api.de.sumologic.com/api/"
eu:
apiendpoint: "https://api.eu.sumologic.com/api/"
+ esc:
+ apiendpoint: "https://api.esc.sumologic.com/api/"
fed:
apiendpoint: "https://api.fed.sumologic.com/api/"
jp:
diff --git a/aws-observability/templates/test/setup-infra/create_sumo_collector.yaml b/aws-observability/templates/test/setup-infra/create_sumo_collector.yaml
index 6bb2eb27..699a6d79 100644
--- a/aws-observability/templates/test/setup-infra/create_sumo_collector.yaml
+++ b/aws-observability/templates/test/setup-infra/create_sumo_collector.yaml
@@ -5,7 +5,7 @@ Parameters:
SumoLogicDeployment:
Type: String
Default: ""
- Description: "Enter au, ca, ch, de, eu, fed, jp, kr, us1 or us2"
+ Description: "Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2"
SumoLogicAccessID:
Type: String
Description: "Sumo Logic Access ID. Used for Sumo Logic API calls."
diff --git a/aws-observability/templates/test/setup-infra/create_sumo_kinesis_firehose_metrics_source.yaml b/aws-observability/templates/test/setup-infra/create_sumo_kinesis_firehose_metrics_source.yaml
index aa7072a2..dbf4ee43 100644
--- a/aws-observability/templates/test/setup-infra/create_sumo_kinesis_firehose_metrics_source.yaml
+++ b/aws-observability/templates/test/setup-infra/create_sumo_kinesis_firehose_metrics_source.yaml
@@ -5,7 +5,7 @@ Parameters:
SumoLogicDeployment:
Type: String
Default: ""
- Description: "Enter au, ca, ch, de, eu, fed, jp, kr, us1 or us2"
+ Description: "Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2"
SumoLogicAccessID:
Type: String
Description: "Sumo Logic Access ID. Used for Sumo Logic API calls."
@@ -50,6 +50,8 @@ Mappings:
apiendpoint: "https://api.de.sumologic.com/api/"
eu:
apiendpoint: "https://api.eu.sumologic.com/api/"
+ esc:
+ apiendpoint: "https://api.esc.sumologic.com/api/"
fed:
apiendpoint: "https://api.fed.sumologic.com/api/"
jp:
diff --git a/aws-observability/templates/test/setup-infra/create_sumo_lambda_hepler.yaml b/aws-observability/templates/test/setup-infra/create_sumo_lambda_hepler.yaml
index fa8498ca..de7a5793 100644
--- a/aws-observability/templates/test/setup-infra/create_sumo_lambda_hepler.yaml
+++ b/aws-observability/templates/test/setup-infra/create_sumo_lambda_hepler.yaml
@@ -5,7 +5,7 @@ Parameters:
SumoLogicDeployment:
Type: String
Default: ""
- Description: "Enter au, ca, ch, de, eu, fed, jp, kr, us1 or us2"
+ Description: "Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2"
SumoLogicAccessID:
Type: String
Description: "Sumo Logic Access ID. Used for Sumo Logic API calls."
@@ -117,11 +117,11 @@ Resources:
Type: AWS::Lambda::Function
Properties:
Handler: main.handler
- Runtime: python3.13
+ Runtime: python3.14
Description: "Lambda Function for deploying SumoLogic AWS Observability Solution."
Code:
S3Bucket: !FindInMap [ RegionMap, !Ref 'AWS::Region', bucketname ]
- S3Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.22.zip"
+ S3Key: "sumologic-aws-observability/apps/SumoLogicAWSObservabilityHelper/SumoLogicAWSObservabilityHelperv2.0.23.zip"
MemorySize: 128
Timeout: 900
Role: !GetAtt LambdaRole.Arn
diff --git a/aws-observability/templates/test/setup-infra/create_sumo_role.yaml b/aws-observability/templates/test/setup-infra/create_sumo_role.yaml
index e56fb846..9894d84b 100644
--- a/aws-observability/templates/test/setup-infra/create_sumo_role.yaml
+++ b/aws-observability/templates/test/setup-infra/create_sumo_role.yaml
@@ -5,7 +5,7 @@ Parameters:
SumoLogicDeployment:
Type: String
Default: ""
- Description: "Enter au, ca, ch, de, eu, fed, jp, kr, us1 or us2"
+ Description: "Enter au, ca, ch, de, eu, esc, fed, jp, kr, us1 or us2"
SumoLogicOrganizationId:
Description: "Appears on the Account Overview page that displays information about your Sumo Logic organization. Used for IAM Role in Sumo Logic AWS Sources. Visit https://help.sumologic.com/docs/get-started/account-settings-preferences/"
Type: String
@@ -30,7 +30,7 @@ Resources:
Statement:
- Effect: Allow
Principal:
- AWS: !Sub "arn:aws:iam::${SumoLogicAccountID}:root"
+ AWS: !Sub "arn:${AWS::Partition}:iam::${SumoLogicAccountID}:root"
Action: sts:AssumeRole
Condition:
StringEquals:
diff --git a/aws-observability/templates/test/testbundles/all_testsuites_bundle.yaml b/aws-observability/templates/test/testbundles/all_testsuites_bundle.yaml
index 43e6d058..0313ce2a 100644
--- a/aws-observability/templates/test/testbundles/all_testsuites_bundle.yaml
+++ b/aws-observability/templates/test/testbundles/all_testsuites_bundle.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testbundles/lb_bundle.yaml b/aws-observability/templates/test/testbundles/lb_bundle.yaml
index e04c4c28..394220cc 100644
--- a/aws-observability/templates/test/testbundles/lb_bundle.yaml
+++ b/aws-observability/templates/test/testbundles/lb_bundle.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testbundles/regression_bundle.yaml b/aws-observability/templates/test/testbundles/regression_bundle.yaml
index abc88f1a..cab081db 100644
--- a/aws-observability/templates/test/testbundles/regression_bundle.yaml
+++ b/aws-observability/templates/test/testbundles/regression_bundle.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testcases/infra/create_source_existing_bucket_existing_sources.yaml b/aws-observability/templates/test/testcases/infra/create_source_existing_bucket_existing_sources.yaml
index 430b7704..536e920e 100644
--- a/aws-observability/templates/test/testcases/infra/create_source_existing_bucket_existing_sources.yaml
+++ b/aws-observability/templates/test/testcases/infra/create_source_existing_bucket_existing_sources.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
@@ -236,15 +236,15 @@ TestCase:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: "arn::firehose:"
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: "arn::firehose:"
LogGroupPattern: 'lambda'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'No'
sumoAlbMetricsAppStack:
diff --git a/aws-observability/templates/test/testcases/infra/default_param_no_alias_and_csv.yaml b/aws-observability/templates/test/testcases/infra/default_param_no_alias_and_csv.yaml
index de827edf..ea706c0d 100644
--- a/aws-observability/templates/test/testcases/infra/default_param_no_alias_and_csv.yaml
+++ b/aws-observability/templates/test/testcases/infra/default_param_no_alias_and_csv.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
@@ -257,9 +257,9 @@ TestCase:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: "arn::firehose:"
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
BucketName: 'aws-observability-logs'
AutoEnableResourceOptions: 'Both'
@@ -269,9 +269,9 @@ TestCase:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: "arn::firehose:"
LogGroupPattern: '\/aws\/(lambda|apigateway|rds)'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'Yes'
sumoAlbMetricsAppStack:
diff --git a/aws-observability/templates/test/testcases/infra/default_param_no_cloudtrail_invalid_mapping_csv.yaml b/aws-observability/templates/test/testcases/infra/default_param_no_cloudtrail_invalid_mapping_csv.yaml
index cc11ba40..40eda67e 100644
--- a/aws-observability/templates/test/testcases/infra/default_param_no_cloudtrail_invalid_mapping_csv.yaml
+++ b/aws-observability/templates/test/testcases/infra/default_param_no_cloudtrail_invalid_mapping_csv.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
@@ -257,9 +257,9 @@ TestCase:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: "arn::firehose:"
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
BucketName: 'aws-observability-logs'
AutoEnableResourceOptions: 'Both'
@@ -269,9 +269,9 @@ TestCase:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: "arn::firehose:"
LogGroupPattern: 'lambda'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'Yes'
sumoAlbMetricsAppStack:
diff --git a/aws-observability/templates/test/testcases/infra/default_param_no_cloudtrail_valid_mapping_csv.yaml b/aws-observability/templates/test/testcases/infra/default_param_no_cloudtrail_valid_mapping_csv.yaml
index 8b6b3e39..9c6908d7 100644
--- a/aws-observability/templates/test/testcases/infra/default_param_no_cloudtrail_valid_mapping_csv.yaml
+++ b/aws-observability/templates/test/testcases/infra/default_param_no_cloudtrail_valid_mapping_csv.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
@@ -257,9 +257,9 @@ TestCase:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: "arn::firehose:"
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
BucketName: 'aws-observability-logs'
AutoEnableResourceOptions: 'Both'
@@ -269,9 +269,9 @@ TestCase:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: "arn::firehose:"
LogGroupPattern: 'lambda'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'Yes'
sumoAlbMetricsAppStack:
diff --git a/aws-observability/templates/test/testcases/infra/existing_cloudtrail_alb_source.yaml b/aws-observability/templates/test/testcases/infra/existing_cloudtrail_alb_source.yaml
index af9e79a2..dd519100 100644
--- a/aws-observability/templates/test/testcases/infra/existing_cloudtrail_alb_source.yaml
+++ b/aws-observability/templates/test/testcases/infra/existing_cloudtrail_alb_source.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testcases/infra/existing_cloudtrail_bucket.yaml b/aws-observability/templates/test/testcases/infra/existing_cloudtrail_bucket.yaml
index dcddf167..d0a028ff 100644
--- a/aws-observability/templates/test/testcases/infra/existing_cloudtrail_bucket.yaml
+++ b/aws-observability/templates/test/testcases/infra/existing_cloudtrail_bucket.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testcases/infra/existing_cloudtrail_elb_source.yaml b/aws-observability/templates/test/testcases/infra/existing_cloudtrail_elb_source.yaml
index bd94e90d..58a3eb96 100644
--- a/aws-observability/templates/test/testcases/infra/existing_cloudtrail_elb_source.yaml
+++ b/aws-observability/templates/test/testcases/infra/existing_cloudtrail_elb_source.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testcases/infra/no_cloudtrail.yaml b/aws-observability/templates/test/testcases/infra/no_cloudtrail.yaml
index 0009a863..7bfd5e39 100644
--- a/aws-observability/templates/test/testcases/infra/no_cloudtrail.yaml
+++ b/aws-observability/templates/test/testcases/infra/no_cloudtrail.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
@@ -198,7 +198,7 @@ TestCase:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'New'
AutoSubscribeDestinationARNType: 'Lambda'
- AutoSubscribeDestinationARNValue: 'arn:aws:lambda:'
+ AutoSubscribeDestinationARNValue: 'arn::lambda:'
AutoSubscribeLogGroupPattern: 'lambda'
AutoSubscribeRoleArn: ""
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
@@ -210,7 +210,7 @@ TestCase:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'false'
DestinationArnType: 'Lambda'
- DestinationArnValue: 'arn:aws:lambda:'
+ DestinationArnValue: 'arn::lambda:'
LogGroupPattern: 'lambda'
RoleArn: ""
sumoEC2MetricsAppStack:
diff --git a/aws-observability/templates/test/testcases/infra/nothing_to_install.yaml b/aws-observability/templates/test/testcases/infra/nothing_to_install.yaml
index 9d32ff2c..f12a2f57 100644
--- a/aws-observability/templates/test/testcases/infra/nothing_to_install.yaml
+++ b/aws-observability/templates/test/testcases/infra/nothing_to_install.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testcases/infra/only_cloudtrail_with_loggroup_tags.yaml b/aws-observability/templates/test/testcases/infra/only_cloudtrail_with_loggroup_tags.yaml
index 708030ed..9c86c651 100644
--- a/aws-observability/templates/test/testcases/infra/only_cloudtrail_with_loggroup_tags.yaml
+++ b/aws-observability/templates/test/testcases/infra/only_cloudtrail_with_loggroup_tags.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testcases/infra/tag_filters_for_cw_metric_source_with_custom_namespaces.yaml b/aws-observability/templates/test/testcases/infra/tag_filters_for_cw_metric_source_with_custom_namespaces.yaml
index cb477f02..31179773 100644
--- a/aws-observability/templates/test/testcases/infra/tag_filters_for_cw_metric_source_with_custom_namespaces.yaml
+++ b/aws-observability/templates/test/testcases/infra/tag_filters_for_cw_metric_source_with_custom_namespaces.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testcases/lb/auto_enable_check_elb.yaml b/aws-observability/templates/test/testcases/lb/auto_enable_check_elb.yaml
index a45bcaf2..7b751b14 100644
--- a/aws-observability/templates/test/testcases/lb/auto_enable_check_elb.yaml
+++ b/aws-observability/templates/test/testcases/lb/auto_enable_check_elb.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
@@ -261,9 +261,9 @@ TestCase:
AutoSubscribeLogGroups: 'Yes'
AutoSubscribeLogGroupsOptions: 'Both'
AutoSubscribeDestinationARNType: 'Kinesis'
- AutoSubscribeDestinationARNValue: 'arn:aws:firehose:'
+ AutoSubscribeDestinationARNValue: 'arn::firehose:'
AutoSubscribeLogGroupPattern: 'lambda'
- AutoSubscribeRoleArn: "arn:aws:iam::"
+ AutoSubscribeRoleArn: "arn::iam::"
AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
BucketName: 'aws-observability-logs'
AutoEnableResourceOptions: 'Both'
@@ -273,9 +273,9 @@ TestCase:
AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
UseExistingLogs: 'true'
DestinationArnType: 'Kinesis'
- DestinationArnValue: 'arn:aws:firehose:'
+ DestinationArnValue: 'arn::firehose:'
LogGroupPattern: 'lambda'
- RoleArn: "arn:aws:iam::"
+ RoleArn: "arn::iam::"
sumoEC2MetricsAppStack:
Section2aInstallApp: 'Yes'
sumoAlbMetricsAppStack:
diff --git a/aws-observability/templates/test/testcases/lb/existing_source_with_alb_bucket.yaml b/aws-observability/templates/test/testcases/lb/existing_source_with_alb_bucket.yaml
index 729f27f9..81f5e39c 100644
--- a/aws-observability/templates/test/testcases/lb/existing_source_with_alb_bucket.yaml
+++ b/aws-observability/templates/test/testcases/lb/existing_source_with_alb_bucket.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testcases/lb/existing_source_with_elb_bucket.yaml b/aws-observability/templates/test/testcases/lb/existing_source_with_elb_bucket.yaml
index f081a913..c636ceaf 100644
--- a/aws-observability/templates/test/testcases/lb/existing_source_with_elb_bucket.yaml
+++ b/aws-observability/templates/test/testcases/lb/existing_source_with_elb_bucket.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testcases/upgrade_update/update/v2_15/disabled_telemetry.yaml b/aws-observability/templates/test/testcases/upgrade_update/update/v2_15/disabled_telemetry.yaml
new file mode 100644
index 00000000..f530cb5c
--- /dev/null
+++ b/aws-observability/templates/test/testcases/upgrade_update/update/v2_15/disabled_telemetry.yaml
@@ -0,0 +1,239 @@
+---
+Global:
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
+ StackName: AWSO
+ ParallelTestsRun: 1
+ GlobalParameters:
+ Default:
+ Section1eSumoLogicResourceRemoveOnDeleteStack: 'true'
+ Update:
+ Section1fSumoLogicSendTelemetry: 'false'
+TestCase:
+ TestName: disabledTelemetry
+ Regions: '${SUMO_REGIONS}'
+ Skip: false
+ PreRequisitesInfra:
+ - CFNTemplateURL: "test/setup-infra/create_s3_bucket.yaml"
+ ImpactedParametersPath:
+ BucketName:
+ - "parameters.Section5dALBS3LogsBucketName"
+ - "assertions[AssertType==ParameterCheck].Assert.CreateCommonResources.ALBS3LogsBucketName"
+ - "assertions[AssertType==ParameterCheck].Assert.AutoEnableOptions.ALBS3LogsBucketName"
+ - "assertions[AssertType==ParameterCheck].Assert['AutoEnableOptions#AutoEnableS3LogsAlbAWSResources'].BucketName"
+ - CFNTemplateURL: "test/setup-infra/create_sumo_lambda_hepler.yaml"
+ CFNParameters:
+ SumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ SumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ SumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ AccountAlias: "updatet1"
+ - CFNTemplateURL: "test/setup-infra/create_sumo_collector.yaml"
+ CFNParameters:
+ SumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ SumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ SumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ SumoLambdaHelperArn: '${SumoLambdaHelperArn}'
+ - CFNTemplateURL: "test/setup-infra/create_sumo_cloudwatch_log_source.yaml"
+ CFNParameters:
+ SumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ SumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ SumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ SumoLambdaHelperArn: '${SumoLambdaHelperArn}'
+ SumoCollectorID: '${SumoCollectorID}'
+ AccountAlias: '${AccountAlias}'
+ ImpactedParametersPath:
+ SumoCloudWatchLogAPIURL:
+ - "parameters.Section7bLambdaCloudWatchLogsSourceUrl"
+ - "assertions[AssertType==ParameterCheck].Assert.sumoLambdaMetricsAppStack.Section6aCloudWatchLogsAPIUrl"
+ Parameters:
+ Values:
+ Section1aSumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ Section1bSumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ Section1cSumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ Section1dSumoLogicOrganizationId: '${SUMO_ORG_ID}'
+ Section1fSumoLogicSendTelemetry: 'true'
+ Section2aAccountAlias: 'updatet1'
+ Section2bAccountAliasMappingS3URL: ''
+ Section3aInstallObservabilityApps: 'No'
+ Section4aCreateMetricsSourceOptions: 'None'
+ Section4cCloudWatchExistingSourceAPIUrl: ''
+ Section5aAutoEnableS3LogsALBResourcesOptions: 'Existing'
+ Section5bALBCreateLogSource: 'Yes'
+ Section5dALBS3LogsBucketName: 'cf-templates-qpf3unpuo1hw-ap-southeast-4'
+ Section5eALBS3BucketPathExpression: '*abc*'
+ Section6aCreateCloudTrailLogSource: 'Yes'
+ Section7aLambdaCreateCloudWatchLogsSourceOptions: 'None'
+ Section7bLambdaCloudWatchLogsSourceUrl: 'https://api.sumologic.com/api/v1/collectors/261725249/sources/1511499202'
+ Section9bELBCreateLogSource: 'No'
+ UpdateParameters:
+ Values:
+ Section1fSumoLogicSendTelemetry: 'false'
+ Assertions:
+ - AssertType: ResourceExistence
+ Assert:
+ Resources:
+ - CreateCommonResources
+ - AutoEnableOptions
+ - sumoEC2MetricsAppStack
+ - sumoAlbMetricsAppStack
+ - sumoElbMetricsAppStack
+ - sumoDynamoDBMetricsAppStack
+ - sumoRdsMetricsAppStack
+ - sumoApiGatewayMetricsAppStack
+ - sumoSNSAppStack
+ - sumoSQSAppStack
+ - sumoLambdaMetricsAppStack
+ - sumoECSMetricsAppStack
+ - sumoElasticCacheMetricsAppStack
+ - CreateCommonResources.AddAccountField
+ - CreateCommonResources.AddRegionField
+ - CreateCommonResources.AddNamespaceField
+ - CreateCommonResources.AddAccountIdField
+ - CreateCommonResources.SumoLogicALBS3Policy
+ - CreateCommonResources.SumoLogicCloudTrailS3Policy
+ - CreateCommonResources.LambdaRole
+ - CreateCommonResources.LambdaHelper
+ - CreateCommonResources.AccountCheck
+ - CreateCommonResources.CommonBucketSNSTopic
+ - CreateCommonResources.CommonS3Bucket
+ - CreateCommonResources.CommonBucketPolicy
+ - CreateCommonResources.CommonSNSpolicy
+ - CreateCommonResources.CommonCloudTrail
+ - CreateCommonResources.CreateSumoLogicAWSExplorerView
+ - CreateCommonResources.SumoLogicSourceRole
+ - CreateCommonResources.SumoLogicHostedCollector
+ - CreateCommonResources.LambdaToDecideCWMetricsSources
+ - CreateCommonResources.Primerinvoke
+ - CreateCommonResources.ALBSource
+ - CreateCommonResources.ALBSNSTopic
+ - CreateCommonResources.ALBSNSpolicy
+ - CreateCommonResources.ALBSNSSubscription
+ - CreateCommonResources.CloudTrailSource
+ - CreateCommonResources.CloudTrailSNSSubscription
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources.EnableExisitngAWSResourcesLambda
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources.ExistingAWSResources
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources.SumoLambdaRole
+ - sumoRdsMetricsAppStack.ClusterMetricRule
+ - sumoRdsMetricsAppStack.InstanceMetricRule
+ - sumoLambdaMetricsAppStack.SumoHTTPUpdateSource
+ - sumoLambdaMetricsAppStack.LambdaFieldExtractionRule
+ - sumoAlbMetricsAppStack.AlbLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.CloudTrailLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.AccessLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.MetricRule
+ - sumoSNSAppStack.FieldExtractionRule
+ - sumoSQSAppStack.FieldExtractionRule
+ - sumoDynamoDBMetricsAppStack.FieldExtractionRule
+ - sumoEC2MetricsAppStack.FieldExtractionRule
+ - sumoLambdaMetricsAppStack.LambdaCloudWatchLogsFieldExtractionRule
+ - sumoRdsMetricsAppStack.FieldExtractionRule
+ - sumoECSMetricsAppStack.FieldExtractionRule
+ - sumoElasticCacheMetricsAppStack.FieldExtractionRule
+ - sumoNlbMetricsAppStack
+ - sumoNlbMetricsAppStack.MetricRule
+ - CreateCommonResources.AccountAliasValue
+ - sumoAlbMetricsAppStack.AccountAliasValue
+ - sumoAlbMetricsAppStack.LambdaHelper
+ - sumoAlbMetricsAppStack.LambdaRole
+ - sumoElbMetricsAppStack.AccountAliasValue
+ - sumoElbMetricsAppStack.LambdaHelper
+ - sumoElbMetricsAppStack.LambdaRole
+ - sumoLambdaMetricsAppStack.AccountAliasValue
+ - sumoLambdaMetricsAppStack.GenericCloudWatchLogsFieldExtractionRule
+ - CreateCommonResources.LambdaHelperAlias
+ - CreateCommonResources.LambdaRoleAlias
+ - sumoAlbMetricsAppStack.AlbCloudTrailLogsFieldExtractionRule
+ - AssertType: OutputsCheck
+ Assert:
+ Outputs:
+ - CreateCommonResources.LambdaHelperARN
+ - CreateCommonResources.EnterpriseCheck
+ - CreateCommonResources.PaidAccountCheck
+ - CreateCommonResources.Namespaces
+ - CreateCommonResources.LambdaRoleARN
+ - CreateCommonResources.BucketName
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources.EnableExisitngAWSResourcesLambda
+ - sumoLambdaMetricsAppStack.ExistingCloudWatchLogSourceName
+ - CreateCommonResources.CollectorName
+ - CreateCommonResources.AccountAlias
+ - AssertType: ParameterCheck
+ Assert:
+ CreateCommonResources:
+ AccountAlias: "updatet1"
+ AccountAliasMappingS3URL: ""
+ CreateMetaDataSource: 'No'
+ MetaDataSourceName: ""
+ MetaDataSourceCategory: ""
+ CreateCloudWatchMetricsSource: 'No'
+ CloudWatchMetricsSourceName: ''
+ CloudWatchMetricsNameSpaces: "AWS/ApplicationELB, AWS/ApiGateway, AWS/DynamoDB, AWS/Lambda, AWS/RDS, AWS/ECS, AWS/ElastiCache, AWS/ELB, AWS/NetworkELB"
+ ScanInterval: "30000"
+ CloudWatchMetricSourceCategory: ""
+ CreateALBLogSource: 'Yes'
+ CreateALBS3Bucket: 'No'
+ ALBS3LogsBucketName: "cf-templates-qpf3unpuo1hw-ap-southeast-4"
+ ALBS3BucketPathExpression: '/elasticloadbalancing//*'
+ ALBLogsSourceName: "alb-logs-"
+ ALBLogsSourceCategory: "aws/observability/alb/logs"
+ CreateCloudTrailLogSource: 'Yes'
+ CreateCloudTrailBucket: 'Yes'
+ CloudTrailLogsBucketName: ""
+ CloudTrailBucketPathExpression: '/CloudTrail//*'
+ CloudTrailLogsSourceName: "cloudtrail-logs-"
+ CloudTrailLogsSourceCategory: "aws/observability/cloudtrail/logs"
+ CreateCloudWatchLogSource: 'No'
+ CloudWatchLogsSourceName: "cloudwatch-logs-"
+ CloudWatchLogsSourceCategory: "aws/observability/cloudwatch/logs"
+ CreateKinesisFirehoseLogSource: 'No'
+ KinesisFirehoseLogsSourceName: 'kinesis-firehose-cloudwatch-logs-'
+ KinesisFirehoseLogsSourceCategory: 'aws/observability/cloudwatch/logs'
+ CreateKinesisFirehoseMetricsSource: 'No'
+ KinesisFirehoseMetricsSourceName: 'cloudwatch-metrics-'
+ KinesisFirehoseMetricSourceCategory: 'aws/observability/cloudwatch/metrics'
+ AutoEnableOptions:
+ ALBAutoEnableS3Logs: 'Yes'
+ ALBS3LogsBucketName: 'cf-templates-qpf3unpuo1hw-ap-southeast-4'
+ AutoSubscribeLogGroups: 'No'
+ AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
+ BucketName: 'cf-templates-qpf3unpuo1hw-ap-southeast-4'
+ AutoEnableResourceOptions: 'Existing'
+ sumoEC2MetricsAppStack:
+ Section2aInstallApp: 'No'
+ sumoAlbMetricsAppStack:
+ Section2aAccountAlias: 'updatet1'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aALBLogsAPIUrl: ''
+ Section5bALBLogsSourceName: '*alb-logs*'
+ sumoDynamoDBMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoRdsMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoApiGatewayMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoLambdaMetricsAppStack:
+ Section2aAccountAlias: 'updatet1'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aCloudTrailLogsAPIUrl: ''
+ Section5bCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section6aCloudWatchLogsAPIUrl: 'https://api.sumologic.com/api/v1/collectors/261725249/sources/1511499202'
+ Section6bCloudWatchLogsSourceName: ''
+ sumoECSMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoElasticCacheMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoNlbMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aNLBLogsSourceName: ''
+ Section3bNLBSourceUpdated: 'No'
\ No newline at end of file
diff --git a/aws-observability/templates/test/testcases/upgrade_update/update/v2_15/existing_cloudtrail_bucket.yaml b/aws-observability/templates/test/testcases/upgrade_update/update/v2_15/existing_cloudtrail_bucket.yaml
new file mode 100644
index 00000000..7347dd13
--- /dev/null
+++ b/aws-observability/templates/test/testcases/upgrade_update/update/v2_15/existing_cloudtrail_bucket.yaml
@@ -0,0 +1,227 @@
+---
+Global:
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
+ StackName: AWSO
+ ParallelTestsRun: 1
+ GlobalParameters:
+ Default:
+ Section1eSumoLogicResourceRemoveOnDeleteStack: 'true'
+ Section2aAccountAlias: 'infrat9'
+ Update:
+ Section10aAppInstallLocation: "Admin Recommended Folder"
+ Section10bShare: 'True'
+TestCase:
+ TestName: existingCloudTrailBucket
+ Regions: '${SUMO_REGIONS}'
+ Skip: false
+ PreRequisitesInfra:
+ - CFNTemplateURL: "test/setup-infra/create_s3_bucket.yaml"
+ ImpactedParametersPath:
+ BucketName:
+ - "parameters.Section6cCloudTrailLogsBucketName"
+ - "assertions[AssertType==ParameterCheck].Assert.CreateCommonResources.CloudTrailLogsBucketName"
+ Parameters:
+ Values:
+ Section1aSumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ Section1bSumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ Section1cSumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ Section1dSumoLogicOrganizationId: '${SUMO_ORG_ID}'
+ Section2aAccountAlias: 'infrat9'
+ Section2bAccountAliasMappingS3URL: ''
+ Section3aInstallObservabilityApps: 'No'
+ Section4aCreateMetricsSourceOptions: 'CloudWatch Metrics Source'
+ Section5aAutoEnableS3LogsALBResourcesOptions: 'None'
+ Section5bALBCreateLogSource: 'Yes'
+ Section6aCreateCloudTrailLogSource: 'Yes'
+ Section6cCloudTrailLogsBucketName: 'cf-templates-1qpf3unpuo1hw-'
+ Section6dCloudTrailBucketPathExpression: '*abc*'
+ Section7aLambdaCreateCloudWatchLogsSourceOptions: 'None'
+ Section4bMetricsNameSpaces: 'AWS/ApiGateway, AWS/DynamoDB, AWS/ElastiCache, AWS/EC2'
+ Section9aAutoEnableS3LogsELBResourcesOptions: 'None'
+ Section9bELBCreateLogSource: 'Yes'
+ Section10aAppInstallLocation: "Admin Recommended Folder"
+ Section10bShare: 'False'
+ UpdateParameters:
+ Values:
+ Section10aAppInstallLocation: "Admin Recommended Folder"
+ Section10bShare: 'True'
+ Assertions:
+ - AssertType: ResourceExistence
+ Assert:
+ Resources:
+ - LambdaRole
+ - LambdaPermission
+ - PrimerInvoke
+ - TelemetryLambda
+ - CreateCommonResources
+ - sumoEC2MetricsAppStack
+ - sumoAlbMetricsAppStack
+ - sumoElbMetricsAppStack
+ - sumoDynamoDBMetricsAppStack
+ - sumoRdsMetricsAppStack
+ - sumoApiGatewayMetricsAppStack
+ - sumoSNSAppStack
+ - sumoSQSAppStack
+ - sumoLambdaMetricsAppStack
+ - sumoECSMetricsAppStack
+ - sumoElasticCacheMetricsAppStack
+ - CreateCommonResources.AddAccountField
+ - CreateCommonResources.AddRegionField
+ - CreateCommonResources.AddNamespaceField
+ - CreateCommonResources.AddAccountIdField
+ - CreateCommonResources.SumoLogicALBS3Policy
+ - CreateCommonResources.SumoLogicELBS3Policy
+ - CreateCommonResources.SumoLogicCloudTrailS3Policy
+ - CreateCommonResources.LambdaRole
+ - CreateCommonResources.LambdaHelper
+ - CreateCommonResources.AccountCheck
+ - CreateCommonResources.CommonBucketSNSTopic
+ - CreateCommonResources.CommonS3Bucket
+ - CreateCommonResources.CommonBucketPolicy
+ - CreateCommonResources.CommonSNSpolicy
+ - CreateCommonResources.CreateSumoLogicAWSExplorerView
+ - CreateCommonResources.SumoLogicSourceRole
+ - CreateCommonResources.SumoLogicHostedCollector
+ - CreateCommonResources.LambdaToDecideCWMetricsSources
+ - CreateCommonResources.Primerinvoke
+ - CreateCommonResources.CloudWatchMetricsFirstStack
+ - CreateCommonResources.CloudWatchMetricsSecondStack
+ - CreateCommonResources.CloudWatchMetricsThirdStack
+ - CreateCommonResources.CloudWatchMetricsFirstStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsFirstStack.ThirdCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsSecondStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsSecondStack.FifthCloudwatchMetricsSource
+ - CreateCommonResources.ALBSource
+ - CreateCommonResources.ALBSNSSubscription
+ - CreateCommonResources.ELBSource
+ - CreateCommonResources.ELBSNSSubscription
+ - CreateCommonResources.CloudTrailSource
+ - CreateCommonResources.CloudTrailSNSTopic
+ - CreateCommonResources.CloudTrailSNSpolicy
+ - CreateCommonResources.CloudTrailSNSSubscription
+ - sumoRdsMetricsAppStack.ClusterMetricRule
+ - sumoRdsMetricsAppStack.InstanceMetricRule
+ - sumoLambdaMetricsAppStack.LambdaFieldExtractionRule
+ - sumoAlbMetricsAppStack.AlbLogsFieldExtractionRule
+ - sumoElbMetricsAppStack.ElbLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.CloudTrailLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.AccessLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.MetricRule
+ - sumoSNSAppStack.FieldExtractionRule
+ - sumoSQSAppStack.FieldExtractionRule
+ - sumoDynamoDBMetricsAppStack.FieldExtractionRule
+ - sumoRdsMetricsAppStack.FieldExtractionRule
+ - sumoECSMetricsAppStack.FieldExtractionRule
+ - sumoElasticCacheMetricsAppStack.FieldExtractionRule
+ - sumoEC2MetricsAppStack.FieldExtractionRule
+ - sumoNlbMetricsAppStack
+ - sumoNlbMetricsAppStack.MetricRule
+ - CreateCommonResources.AccountAliasValue
+ - sumoAlbMetricsAppStack.AccountAliasValue
+ - sumoAlbMetricsAppStack.LambdaHelper
+ - sumoAlbMetricsAppStack.LambdaRole
+ - sumoElbMetricsAppStack.AccountAliasValue
+ - sumoElbMetricsAppStack.LambdaHelper
+ - sumoElbMetricsAppStack.LambdaRole
+ - sumoLambdaMetricsAppStack.AccountAliasValue
+ - CreateCommonResources.LambdaHelperAlias
+ - CreateCommonResources.LambdaRoleAlias
+ - sumoAlbMetricsAppStack.AlbCloudTrailLogsFieldExtractionRule
+ - sumoElbMetricsAppStack.ClbCloudTrailLogsFieldExtractionRule
+ - AssertType: OutputsCheck
+ Assert:
+ Outputs:
+ - CreateCommonResources.LambdaHelperARN
+ - CreateCommonResources.EnterpriseCheck
+ - CreateCommonResources.PaidAccountCheck
+ - CreateCommonResources.Namespaces
+ - CreateCommonResources.LambdaRoleARN
+ - CreateCommonResources.BucketName
+ - CreateCommonResources.CollectorName
+ - CreateCommonResources.AccountAlias
+ - AssertType: ParameterCheck
+ Assert:
+ CreateCommonResources:
+ AccountAlias: "infrat9"
+ AccountAliasMappingS3URL: ""
+ CreateMetaDataSource: 'No'
+ MetaDataSourceName: ""
+ MetaDataSourceCategory: ""
+ CreateCloudWatchMetricsSource: 'Yes'
+ CloudWatchMetricsSourceName: 'cloudwatch-metrics-'
+ CloudWatchMetricsNameSpaces: "AWS/ApiGateway, AWS/DynamoDB, AWS/ElastiCache"
+ ScanInterval: "30000"
+ CloudWatchMetricSourceCategory: "aws/observability/cloudwatch/metrics"
+ CreateALBLogSource: 'Yes'
+ CreateALBS3Bucket: 'Yes'
+ ALBS3LogsBucketName: ""
+ ALBS3BucketPathExpression: '*AWSLogs/*/elasticloadbalancing/*'
+ ALBLogsSourceName: "alb-logs-"
+ ALBLogsSourceCategory: "aws/observability/alb/logs"
+ CreateELBLogSource: 'Yes'
+ CreateELBS3Bucket: 'Yes'
+ ELBS3LogsBucketName: ""
+ ELBS3BucketPathExpression: 'classicloadbalancing/AWSLogs/'
+ ELBLogsSourceName: "classic-lb-logs-"
+ ELBLogsSourceCategory: "aws/observability/clb/logs"
+ CreateCloudTrailLogSource: 'Yes'
+ CreateCloudTrailBucket: 'No'
+ CloudTrailLogsBucketName: "cf-templates-1qpf3unpuo1hw-"
+ CloudTrailBucketPathExpression: '*abc*'
+ CloudTrailLogsSourceName: "cloudtrail-logs-"
+ CloudTrailLogsSourceCategory: "aws/observability/cloudtrail/logs"
+ CreateCloudWatchLogSource: 'No'
+ CloudWatchLogsSourceName: "cloudwatch-logs-"
+ CloudWatchLogsSourceCategory: "aws/observability/cloudwatch/logs"
+ CreateKinesisFirehoseLogSource: 'No'
+ KinesisFirehoseLogsSourceName: 'kinesis-firehose-cloudwatch-logs-'
+ KinesisFirehoseLogsSourceCategory: 'aws/observability/cloudwatch/logs'
+ CreateKinesisFirehoseMetricsSource: 'No'
+ KinesisFirehoseMetricsSourceName: 'cloudwatch-metrics-'
+ KinesisFirehoseMetricSourceCategory: 'aws/observability/cloudwatch/metrics'
+ sumoEC2MetricsAppStack:
+ Section2aInstallApp: 'No'
+ sumoAlbMetricsAppStack:
+ Section2aAccountAlias: 'infrat9'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aALBLogsAPIUrl: ''
+ Section5bALBLogsSourceName: '*alb-logs*'
+ sumoElbMetricsAppStack:
+ Section2aAccountAlias: 'infrat9'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aELBLogsAPIUrl: ''
+ Section5bELBLogsSourceName: '*elb-logs*'
+ sumoDynamoDBMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoRdsMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoApiGatewayMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoLambdaMetricsAppStack:
+ Section2aAccountAlias: 'infrat9'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aCloudTrailLogsAPIUrl: ''
+ Section5bCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section6aCloudWatchLogsAPIUrl: ''
+ Section6bCloudWatchLogsSourceName: ''
+ sumoECSMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoElasticCacheMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoNlbMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aNLBLogsSourceName: ''
+ Section3bNLBSourceUpdated: 'No'
\ No newline at end of file
diff --git a/aws-observability/templates/test/testcases/upgrade_update/upgrade/v2_15/v2_12_create_source_existing_bucket_existing_sources.yaml b/aws-observability/templates/test/testcases/upgrade_update/upgrade/v2_15/v2_12_create_source_existing_bucket_existing_sources.yaml
new file mode 100644
index 00000000..27e08071
--- /dev/null
+++ b/aws-observability/templates/test/testcases/upgrade_update/upgrade/v2_15/v2_12_create_source_existing_bucket_existing_sources.yaml
@@ -0,0 +1,295 @@
+---
+Global:
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.11.0/sumologic_observability.master.template.yaml"
+ StackName: AWSO
+ ParallelTestsRun: 1
+ GlobalParameters:
+ Default:
+ Section1eSumoLogicResourceRemoveOnDeleteStack: 'true'
+ Section2aAccountAlias: 'upgradev210to211'
+TestCase:
+ TestName: v2_12ToV2_15CreateSourceExistingBucketExistingSources
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.12.0/sumologic_observability.master.template.yaml"
+ UpgradeTemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
+ Regions: '${SUMO_REGIONS}'
+ Skip: false
+ PreRequisitesInfra:
+ - CFNTemplateURL: "test/setup-infra/create_s3_bucket.yaml"
+ ImpactedParametersPath:
+ BucketName:
+ - "parameters.Section5dALBS3LogsBucketName"
+ - "parameters.Section6cCloudTrailLogsBucketName"
+ - "parameters.Section9dELBS3LogsBucketName"
+ Parameters:
+ Values:
+ Section1aSumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ Section1bSumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ Section1cSumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ Section1dSumoLogicOrganizationId: '${SUMO_ORG_ID}'
+ Section2aAccountAlias: 'upgradev210to211'
+ Section2bAccountAliasMappingS3URL: ''
+ Section3aInstallObservabilityApps: 'No'
+ Section4aCreateMetricsSourceOptions: 'CloudWatch Metrics Source'
+ Section4bMetricsNameSpaces: 'AWS/ApiGateway, AWS/DynamoDB, AWS/ElastiCache, AWS/SNS, AWS/SQS'
+ Section4cCloudWatchExistingSourceAPIUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section5aAutoEnableS3LogsALBResourcesOptions: 'None'
+ Section5bALBCreateLogSource: 'Yes'
+ Section5cALBLogsSourceUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section5dALBS3LogsBucketName: 'newapigateway'
+ Section5eALBS3BucketPathExpression: '*abc*'
+ Section6aCreateCloudTrailLogSource: 'Yes'
+ Section6bCloudTrailLogsSourceUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section6cCloudTrailLogsBucketName: 'newapigateway'
+ Section6dCloudTrailBucketPathExpression: '*abc*'
+ Section7aLambdaCreateCloudWatchLogsSourceOptions: 'Both (Switch from Lambda Log Forwarder to Kinesis Firehose Log Source)'
+ Section7bLambdaCloudWatchLogsSourceUrl: "https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763257213"
+ Section7cAutoSubscribeLogGroupsOptions: "Both"
+ Section9aAutoEnableS3LogsELBResourcesOptions: 'None'
+ Section9bELBCreateLogSource: 'Yes'
+ Section9cELBLogsSourceUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section9dELBS3LogsBucketName: 'akhilblogs-'
+ Section9eELBS3BucketPathExpression: '*abc*'
+ Assertions:
+ - AssertType: ResourceExistence
+ Assert:
+ Resources:
+ - LambdaRole
+ - LambdaPermission
+ - PrimerInvoke
+ - TelemetryLambda
+ - CreateCommonResources
+ - sumoEC2MetricsAppStack
+ - sumoAlbMetricsAppStack
+ - sumoElbMetricsAppStack
+ - sumoDynamoDBMetricsAppStack
+ - sumoRdsMetricsAppStack
+ - sumoApiGatewayMetricsAppStack
+ - sumoSNSAppStack
+ - sumoSQSAppStack
+ - sumoLambdaMetricsAppStack
+ - sumoECSMetricsAppStack
+ - sumoElasticCacheMetricsAppStack
+ - CreateCommonResources.AddAccountField
+ - CreateCommonResources.AddRegionField
+ - CreateCommonResources.AddNamespaceField
+ - CreateCommonResources.AddAccountIdField
+ - CreateCommonResources.SumoLogicALBS3Policy
+ - CreateCommonResources.SumoLogicELBS3Policy
+ - CreateCommonResources.SumoLogicCloudTrailS3Policy
+ - CreateCommonResources.LambdaRole
+ - CreateCommonResources.LambdaHelper
+ - CreateCommonResources.AccountCheck
+ - CreateCommonResources.CreateSumoLogicAWSExplorerView
+ - CreateCommonResources.SumoLogicSourceRole
+ - CreateCommonResources.SumoLogicHostedCollector
+ - CreateCommonResources.LambdaToDecideCWMetricsSources
+ - CreateCommonResources.Primerinvoke
+ - CreateCommonResources.CloudWatchMetricsFirstStack
+ - CreateCommonResources.CloudWatchMetricsSecondStack
+ - CreateCommonResources.CloudWatchMetricsThirdStack.FirstCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsFirstStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsFirstStack.ThirdCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsSecondStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsThirdStack
+ - CreateCommonResources.CloudWatchMetricsThirdStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.ALBSource
+ - CreateCommonResources.ALBSNSTopic
+ - CreateCommonResources.ALBSNSpolicy
+ - CreateCommonResources.ALBSNSSubscription
+ - CreateCommonResources.ELBSource
+ - CreateCommonResources.ELBSNSTopic
+ - CreateCommonResources.ELBSNSpolicy
+ - CreateCommonResources.ELBSNSSubscription
+ - CreateCommonResources.CloudTrailSource
+ - CreateCommonResources.CloudTrailSNSTopic
+ - CreateCommonResources.CloudTrailSNSpolicy
+ - CreateCommonResources.CloudTrailSNSSubscription
+ - sumoRdsMetricsAppStack.ClusterMetricRule
+ - sumoRdsMetricsAppStack.InstanceMetricRule
+ - sumoLambdaMetricsAppStack.LambdaFieldExtractionRule
+ - sumoAlbMetricsAppStack.AlbLogsFieldExtractionRule
+ - sumoElbMetricsAppStack.ElbLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.CloudTrailLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.AccessLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.MetricRule
+ - sumoSNSAppStack.FieldExtractionRule
+ - sumoSQSAppStack.FieldExtractionRule
+ - sumoDynamoDBMetricsAppStack.FieldExtractionRule
+ - sumoLambdaMetricsAppStack.LambdaCloudWatchLogsFieldExtractionRule
+ - sumoLambdaMetricsAppStack.GenericCloudWatchLogsFieldExtractionRule
+ - sumoRdsMetricsAppStack.FieldExtractionRule
+ - sumoECSMetricsAppStack.FieldExtractionRule
+ - sumoElasticCacheMetricsAppStack.FieldExtractionRule
+ - sumoEC2MetricsAppStack.FieldExtractionRule
+ - sumoNlbMetricsAppStack
+ - sumoNlbMetricsAppStack.MetricRule
+ - CreateCommonResources.KinesisFirehoseLogsStack
+ - CreateCommonResources.KinesisFirehoseLogsSource
+ - CreateCommonResources.KinesisFirehoseLogsStack.AttachBucketPolicyToFirehoseLogsRole
+ - CreateCommonResources.KinesisFirehoseLogsStack.FailedDataBucket
+ - CreateCommonResources.KinesisFirehoseLogsStack.FirehoseLogsRole
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsDeliveryStream
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsFirehoseRolePolicy
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogGroup
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogStream
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogStreamS3
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsRole
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsRolePolicy
+ - CreateCommonResources.KinesisFirehoseLogsStack.SubscriptionFilter
+ - AutoEnableOptions
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.InvokeLambdaConnector
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupExistingLambdaConnector
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupExistingLambdaConnectorRole
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnector
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnectorLambdaTrigger
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnectorLambdaTriggerPermission
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnectorRole
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.sumoIAMPassRolePolicy
+ - CreateCommonResources.CloudWatchEventFunction
+ - CreateCommonResources.CloudWatchHTTPSource
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWDeadLetterQueue
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWEmailSNSTopic
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWEventsInvokeLambdaPermission
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLambdaExecutionRole
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLambdaPermission
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogGroup
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogSubsriptionFilter
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogsLambda
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWProcessDLQLambda
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWProcessDLQScheduleRule
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWSpilloverAlarm
+ - CreateCommonResources.AccountAliasValue
+ - sumoAlbMetricsAppStack.AccountAliasValue
+ - sumoAlbMetricsAppStack.LambdaHelper
+ - sumoAlbMetricsAppStack.LambdaRole
+ - sumoElbMetricsAppStack.AccountAliasValue
+ - sumoElbMetricsAppStack.LambdaHelper
+ - sumoElbMetricsAppStack.LambdaRole
+ - sumoLambdaMetricsAppStack.AccountAliasValue
+ - CreateCommonResources.LambdaHelperAlias
+ - CreateCommonResources.LambdaRoleAlias
+ - sumoAlbMetricsAppStack.AlbCloudTrailLogsFieldExtractionRule
+ - sumoElbMetricsAppStack.ClbCloudTrailLogsFieldExtractionRule
+ - AssertType: OutputsCheck
+ Assert:
+ Outputs:
+ - CreateCommonResources.LambdaHelperARN
+ - CreateCommonResources.EnterpriseCheck
+ - CreateCommonResources.PaidAccountCheck
+ - CreateCommonResources.Namespaces
+ - CreateCommonResources.LambdaRoleARN
+ - CreateCommonResources.KinesisLogsDeliveryStreamARN
+ - CreateCommonResources.KinesisLogsRoleARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogGroupARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsDeliveryStreamARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsRoleARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.FailedDataBucketArn
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnector
+ - CreateCommonResources.CloudWatchLambdaARN
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogsLambdaArn
+ - CreateCommonResources.CollectorName
+ - CreateCommonResources.AccountAlias
+ - AssertType: ParameterCheck
+ Assert:
+ CreateCommonResources:
+ AccountAlias: "upgradev210to211"
+ AccountAliasMappingS3URL: ""
+ CreateMetaDataSource: 'No'
+ MetaDataSourceName: ""
+ MetaDataSourceCategory: ""
+ CreateCloudWatchMetricsSource: 'Yes'
+ CloudWatchMetricsSourceName: 'cloudwatch-metrics-'
+ CloudWatchMetricsNameSpaces: "AWS/ApiGateway, AWS/DynamoDB, AWS/ElastiCache, AWS/SNS, AWS/SQS"
+ ScanInterval: "30000"
+ CloudWatchMetricSourceCategory: "aws/observability/cloudwatch/metrics"
+ CreateALBLogSource: 'Yes'
+ CreateALBS3Bucket: 'No'
+ ALBS3LogsBucketName: ""
+ ALBS3BucketPathExpression: ''
+ ALBLogsSourceName: "alb-logs-"
+ ALBLogsSourceCategory: "aws/observability/alb/logs"
+ CreateELBLogSource: 'Yes'
+ CreateELBS3Bucket: 'No'
+ ELBS3LogsBucketName: ""
+ ELBS3BucketPathExpression: ''
+ ELBLogsSourceName: "classic-lb-logs-"
+ ELBLogsSourceCategory: "aws/observability/clb/logs"
+ CreateCloudTrailLogSource: 'Yes'
+ CreateCloudTrailBucket: 'No'
+ CloudTrailLogsBucketName: ""
+ CloudTrailBucketPathExpression: ''
+ CloudTrailLogsSourceName: "cloudtrail-logs-"
+ CloudTrailLogsSourceCategory: "aws/observability/cloudtrail/logs"
+ CreateCloudWatchLogSource: 'Yes'
+ CloudWatchLogsSourceName: "cloudwatch-logs-"
+ CloudWatchLogsSourceCategory: "aws/observability/cloudwatch/logs"
+ CreateKinesisFirehoseLogSource: 'Yes'
+ KinesisFirehoseLogsSourceName: 'kinesis-firehose-cloudwatch-logs-'
+ KinesisFirehoseLogsSourceCategory: 'aws/observability/cloudwatch/logs'
+ CreateKinesisFirehoseMetricsSource: 'No'
+ KinesisFirehoseMetricsSourceName: 'cloudwatch-metrics-'
+ KinesisFirehoseMetricSourceCategory: 'aws/observability/cloudwatch/metrics'
+ CreateCommonResources.KinesisFirehoseLogsStack:
+ Section2aCreateS3Bucket: 'Yes'
+ AutoEnableOptions:
+ ALBAutoEnableS3Logs: 'No'
+ ELBAutoEnableS3Logs: 'No'
+ AutoSubscribeLogGroups: 'Yes'
+ AutoSubscribeLogGroupsOptions: 'Both'
+ AutoSubscribeDestinationARNType: 'Kinesis'
+ AutoSubscribeDestinationARNValue: 'arn::firehose:'
+ AutoSubscribeLogGroupPattern: 'lambda'
+ AutoSubscribeRoleArn: "arn::iam::"
+ AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
+ UseExistingLogs: 'true'
+ DestinationArnType: 'Kinesis'
+ DestinationArnValue: 'arn::firehose:'
+ LogGroupPattern: 'lambda'
+ RoleArn: "arn::iam::"
+ sumoEC2MetricsAppStack:
+ Section2aInstallApp: 'No'
+ sumoAlbMetricsAppStack:
+ Section2aAccountAlias: 'upgradev210to211'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aALBLogsAPIUrl: ''
+ Section5bALBLogsSourceName: '*alb-logs*'
+ sumoElbMetricsAppStack:
+ Section2aAccountAlias: 'upgradev210to211'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aELBLogsAPIUrl: ''
+ Section5bELBLogsSourceName: '*elb-logs*'
+ sumoDynamoDBMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoRdsMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoApiGatewayMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoLambdaMetricsAppStack:
+ Section2aAccountAlias: 'upgradev210to211'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aCloudTrailLogsAPIUrl: ''
+ Section5bCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section6aCloudWatchLogsAPIUrl: ''
+ Section6bCloudWatchLogsSourceName: '*cloudwatch-logs*'
+ sumoECSMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoElasticCacheMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoNlbMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aNLBLogsSourceName: ''
+ Section3bNLBSourceUpdated: 'No'
\ No newline at end of file
diff --git a/aws-observability/templates/test/testcases/upgrade_update/upgrade/v2_15/v2_13_create_source_existing_bucket_existing_sources.yaml b/aws-observability/templates/test/testcases/upgrade_update/upgrade/v2_15/v2_13_create_source_existing_bucket_existing_sources.yaml
new file mode 100644
index 00000000..5de91c8c
--- /dev/null
+++ b/aws-observability/templates/test/testcases/upgrade_update/upgrade/v2_15/v2_13_create_source_existing_bucket_existing_sources.yaml
@@ -0,0 +1,295 @@
+---
+Global:
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.11.0/sumologic_observability.master.template.yaml"
+ StackName: AWSO
+ ParallelTestsRun: 1
+ GlobalParameters:
+ Default:
+ Section1eSumoLogicResourceRemoveOnDeleteStack: 'true'
+ Section2aAccountAlias: 'upgradev210to211'
+TestCase:
+ TestName: v2_13ToV2_15CreateSourceExistingBucketExistingSources
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.13.0/sumologic_observability.master.template.yaml"
+ UpgradeTemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
+ Regions: '${SUMO_REGIONS}'
+ Skip: false
+ PreRequisitesInfra:
+ - CFNTemplateURL: "test/setup-infra/create_s3_bucket.yaml"
+ ImpactedParametersPath:
+ BucketName:
+ - "parameters.Section5dALBS3LogsBucketName"
+ - "parameters.Section6cCloudTrailLogsBucketName"
+ - "parameters.Section9dELBS3LogsBucketName"
+ Parameters:
+ Values:
+ Section1aSumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ Section1bSumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ Section1cSumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ Section1dSumoLogicOrganizationId: '${SUMO_ORG_ID}'
+ Section2aAccountAlias: 'upgradev210to211'
+ Section2bAccountAliasMappingS3URL: ''
+ Section3aInstallObservabilityApps: 'No'
+ Section4aCreateMetricsSourceOptions: 'CloudWatch Metrics Source'
+ Section4bMetricsNameSpaces: 'AWS/ApiGateway, AWS/DynamoDB, AWS/ElastiCache, AWS/SNS, AWS/SQS'
+ Section4cCloudWatchExistingSourceAPIUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section5aAutoEnableS3LogsALBResourcesOptions: 'None'
+ Section5bALBCreateLogSource: 'Yes'
+ Section5cALBLogsSourceUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section5dALBS3LogsBucketName: 'newapigateway'
+ Section5eALBS3BucketPathExpression: '*abc*'
+ Section6aCreateCloudTrailLogSource: 'Yes'
+ Section6bCloudTrailLogsSourceUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section6cCloudTrailLogsBucketName: 'newapigateway'
+ Section6dCloudTrailBucketPathExpression: '*abc*'
+ Section7aLambdaCreateCloudWatchLogsSourceOptions: 'Both (Switch from Lambda Log Forwarder to Kinesis Firehose Log Source)'
+ Section7bLambdaCloudWatchLogsSourceUrl: "https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763257213"
+ Section7cAutoSubscribeLogGroupsOptions: "Both"
+ Section9aAutoEnableS3LogsELBResourcesOptions: 'None'
+ Section9bELBCreateLogSource: 'Yes'
+ Section9cELBLogsSourceUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section9dELBS3LogsBucketName: 'akhilblogs-'
+ Section9eELBS3BucketPathExpression: '*abc*'
+ Assertions:
+ - AssertType: ResourceExistence
+ Assert:
+ Resources:
+ - LambdaRole
+ - LambdaPermission
+ - PrimerInvoke
+ - TelemetryLambda
+ - CreateCommonResources
+ - sumoEC2MetricsAppStack
+ - sumoAlbMetricsAppStack
+ - sumoElbMetricsAppStack
+ - sumoDynamoDBMetricsAppStack
+ - sumoRdsMetricsAppStack
+ - sumoApiGatewayMetricsAppStack
+ - sumoSNSAppStack
+ - sumoSQSAppStack
+ - sumoLambdaMetricsAppStack
+ - sumoECSMetricsAppStack
+ - sumoElasticCacheMetricsAppStack
+ - CreateCommonResources.AddAccountField
+ - CreateCommonResources.AddRegionField
+ - CreateCommonResources.AddNamespaceField
+ - CreateCommonResources.AddAccountIdField
+ - CreateCommonResources.SumoLogicALBS3Policy
+ - CreateCommonResources.SumoLogicELBS3Policy
+ - CreateCommonResources.SumoLogicCloudTrailS3Policy
+ - CreateCommonResources.LambdaRole
+ - CreateCommonResources.LambdaHelper
+ - CreateCommonResources.AccountCheck
+ - CreateCommonResources.CreateSumoLogicAWSExplorerView
+ - CreateCommonResources.SumoLogicSourceRole
+ - CreateCommonResources.SumoLogicHostedCollector
+ - CreateCommonResources.LambdaToDecideCWMetricsSources
+ - CreateCommonResources.Primerinvoke
+ - CreateCommonResources.CloudWatchMetricsFirstStack
+ - CreateCommonResources.CloudWatchMetricsSecondStack
+ - CreateCommonResources.CloudWatchMetricsThirdStack.FirstCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsFirstStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsFirstStack.ThirdCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsSecondStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsThirdStack
+ - CreateCommonResources.CloudWatchMetricsThirdStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.ALBSource
+ - CreateCommonResources.ALBSNSTopic
+ - CreateCommonResources.ALBSNSpolicy
+ - CreateCommonResources.ALBSNSSubscription
+ - CreateCommonResources.ELBSource
+ - CreateCommonResources.ELBSNSTopic
+ - CreateCommonResources.ELBSNSpolicy
+ - CreateCommonResources.ELBSNSSubscription
+ - CreateCommonResources.CloudTrailSource
+ - CreateCommonResources.CloudTrailSNSTopic
+ - CreateCommonResources.CloudTrailSNSpolicy
+ - CreateCommonResources.CloudTrailSNSSubscription
+ - sumoRdsMetricsAppStack.ClusterMetricRule
+ - sumoRdsMetricsAppStack.InstanceMetricRule
+ - sumoLambdaMetricsAppStack.LambdaFieldExtractionRule
+ - sumoAlbMetricsAppStack.AlbLogsFieldExtractionRule
+ - sumoElbMetricsAppStack.ElbLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.CloudTrailLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.AccessLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.MetricRule
+ - sumoSNSAppStack.FieldExtractionRule
+ - sumoSQSAppStack.FieldExtractionRule
+ - sumoDynamoDBMetricsAppStack.FieldExtractionRule
+ - sumoLambdaMetricsAppStack.LambdaCloudWatchLogsFieldExtractionRule
+ - sumoLambdaMetricsAppStack.GenericCloudWatchLogsFieldExtractionRule
+ - sumoRdsMetricsAppStack.FieldExtractionRule
+ - sumoECSMetricsAppStack.FieldExtractionRule
+ - sumoElasticCacheMetricsAppStack.FieldExtractionRule
+ - sumoEC2MetricsAppStack.FieldExtractionRule
+ - sumoNlbMetricsAppStack
+ - sumoNlbMetricsAppStack.MetricRule
+ - CreateCommonResources.KinesisFirehoseLogsStack
+ - CreateCommonResources.KinesisFirehoseLogsSource
+ - CreateCommonResources.KinesisFirehoseLogsStack.AttachBucketPolicyToFirehoseLogsRole
+ - CreateCommonResources.KinesisFirehoseLogsStack.FailedDataBucket
+ - CreateCommonResources.KinesisFirehoseLogsStack.FirehoseLogsRole
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsDeliveryStream
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsFirehoseRolePolicy
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogGroup
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogStream
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogStreamS3
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsRole
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsRolePolicy
+ - CreateCommonResources.KinesisFirehoseLogsStack.SubscriptionFilter
+ - AutoEnableOptions
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.InvokeLambdaConnector
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupExistingLambdaConnector
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupExistingLambdaConnectorRole
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnector
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnectorLambdaTrigger
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnectorLambdaTriggerPermission
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnectorRole
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.sumoIAMPassRolePolicy
+ - CreateCommonResources.CloudWatchEventFunction
+ - CreateCommonResources.CloudWatchHTTPSource
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWDeadLetterQueue
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWEmailSNSTopic
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWEventsInvokeLambdaPermission
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLambdaExecutionRole
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLambdaPermission
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogGroup
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogSubsriptionFilter
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogsLambda
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWProcessDLQLambda
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWProcessDLQScheduleRule
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWSpilloverAlarm
+ - CreateCommonResources.AccountAliasValue
+ - sumoAlbMetricsAppStack.AccountAliasValue
+ - sumoAlbMetricsAppStack.LambdaHelper
+ - sumoAlbMetricsAppStack.LambdaRole
+ - sumoElbMetricsAppStack.AccountAliasValue
+ - sumoElbMetricsAppStack.LambdaHelper
+ - sumoElbMetricsAppStack.LambdaRole
+ - sumoLambdaMetricsAppStack.AccountAliasValue
+ - CreateCommonResources.LambdaHelperAlias
+ - CreateCommonResources.LambdaRoleAlias
+ - sumoAlbMetricsAppStack.AlbCloudTrailLogsFieldExtractionRule
+ - sumoElbMetricsAppStack.ClbCloudTrailLogsFieldExtractionRule
+ - AssertType: OutputsCheck
+ Assert:
+ Outputs:
+ - CreateCommonResources.LambdaHelperARN
+ - CreateCommonResources.EnterpriseCheck
+ - CreateCommonResources.PaidAccountCheck
+ - CreateCommonResources.Namespaces
+ - CreateCommonResources.LambdaRoleARN
+ - CreateCommonResources.KinesisLogsDeliveryStreamARN
+ - CreateCommonResources.KinesisLogsRoleARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogGroupARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsDeliveryStreamARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsRoleARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.FailedDataBucketArn
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnector
+ - CreateCommonResources.CloudWatchLambdaARN
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogsLambdaArn
+ - CreateCommonResources.CollectorName
+ - CreateCommonResources.AccountAlias
+ - AssertType: ParameterCheck
+ Assert:
+ CreateCommonResources:
+ AccountAlias: "upgradev210to211"
+ AccountAliasMappingS3URL: ""
+ CreateMetaDataSource: 'No'
+ MetaDataSourceName: ""
+ MetaDataSourceCategory: ""
+ CreateCloudWatchMetricsSource: 'Yes'
+ CloudWatchMetricsSourceName: 'cloudwatch-metrics-'
+ CloudWatchMetricsNameSpaces: "AWS/ApiGateway, AWS/DynamoDB, AWS/ElastiCache, AWS/SNS, AWS/SQS"
+ ScanInterval: "30000"
+ CloudWatchMetricSourceCategory: "aws/observability/cloudwatch/metrics"
+ CreateALBLogSource: 'Yes'
+ CreateALBS3Bucket: 'No'
+ ALBS3LogsBucketName: ""
+ ALBS3BucketPathExpression: ''
+ ALBLogsSourceName: "alb-logs-"
+ ALBLogsSourceCategory: "aws/observability/alb/logs"
+ CreateELBLogSource: 'Yes'
+ CreateELBS3Bucket: 'No'
+ ELBS3LogsBucketName: ""
+ ELBS3BucketPathExpression: ''
+ ELBLogsSourceName: "classic-lb-logs-"
+ ELBLogsSourceCategory: "aws/observability/clb/logs"
+ CreateCloudTrailLogSource: 'Yes'
+ CreateCloudTrailBucket: 'No'
+ CloudTrailLogsBucketName: ""
+ CloudTrailBucketPathExpression: ''
+ CloudTrailLogsSourceName: "cloudtrail-logs-"
+ CloudTrailLogsSourceCategory: "aws/observability/cloudtrail/logs"
+ CreateCloudWatchLogSource: 'Yes'
+ CloudWatchLogsSourceName: "cloudwatch-logs-"
+ CloudWatchLogsSourceCategory: "aws/observability/cloudwatch/logs"
+ CreateKinesisFirehoseLogSource: 'Yes'
+ KinesisFirehoseLogsSourceName: 'kinesis-firehose-cloudwatch-logs-'
+ KinesisFirehoseLogsSourceCategory: 'aws/observability/cloudwatch/logs'
+ CreateKinesisFirehoseMetricsSource: 'No'
+ KinesisFirehoseMetricsSourceName: 'cloudwatch-metrics-'
+ KinesisFirehoseMetricSourceCategory: 'aws/observability/cloudwatch/metrics'
+ CreateCommonResources.KinesisFirehoseLogsStack:
+ Section2aCreateS3Bucket: 'Yes'
+ AutoEnableOptions:
+ ALBAutoEnableS3Logs: 'No'
+ ELBAutoEnableS3Logs: 'No'
+ AutoSubscribeLogGroups: 'Yes'
+ AutoSubscribeLogGroupsOptions: 'Both'
+ AutoSubscribeDestinationARNType: 'Kinesis'
+ AutoSubscribeDestinationARNValue: 'arn::firehose:'
+ AutoSubscribeLogGroupPattern: 'lambda'
+ AutoSubscribeRoleArn: "arn::iam::"
+ AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
+ UseExistingLogs: 'true'
+ DestinationArnType: 'Kinesis'
+ DestinationArnValue: 'arn::firehose:'
+ LogGroupPattern: 'lambda'
+ RoleArn: "arn::iam::"
+ sumoEC2MetricsAppStack:
+ Section2aInstallApp: 'No'
+ sumoAlbMetricsAppStack:
+ Section2aAccountAlias: 'upgradev210to211'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aALBLogsAPIUrl: ''
+ Section5bALBLogsSourceName: '*alb-logs*'
+ sumoElbMetricsAppStack:
+ Section2aAccountAlias: 'upgradev210to211'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aELBLogsAPIUrl: ''
+ Section5bELBLogsSourceName: '*elb-logs*'
+ sumoDynamoDBMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoRdsMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoApiGatewayMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoLambdaMetricsAppStack:
+ Section2aAccountAlias: 'upgradev210to211'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aCloudTrailLogsAPIUrl: ''
+ Section5bCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section6aCloudWatchLogsAPIUrl: ''
+ Section6bCloudWatchLogsSourceName: '*cloudwatch-logs*'
+ sumoECSMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoElasticCacheMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoNlbMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aNLBLogsSourceName: ''
+ Section3bNLBSourceUpdated: 'No'
\ No newline at end of file
diff --git a/aws-observability/templates/test/testcases/upgrade_update/upgrade/v2_15/v2_14_create_source_existing_bucket_existing_sources.yaml b/aws-observability/templates/test/testcases/upgrade_update/upgrade/v2_15/v2_14_create_source_existing_bucket_existing_sources.yaml
new file mode 100644
index 00000000..8b63f1fd
--- /dev/null
+++ b/aws-observability/templates/test/testcases/upgrade_update/upgrade/v2_15/v2_14_create_source_existing_bucket_existing_sources.yaml
@@ -0,0 +1,295 @@
+---
+Global:
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.11.0/sumologic_observability.master.template.yaml"
+ StackName: AWSO
+ ParallelTestsRun: 1
+ GlobalParameters:
+ Default:
+ Section1eSumoLogicResourceRemoveOnDeleteStack: 'true'
+ Section2aAccountAlias: 'upgradev210to211'
+TestCase:
+ TestName: v2_14ToV2_15CreateSourceExistingBucketExistingSources
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ UpgradeTemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
+ Regions: '${SUMO_REGIONS}'
+ Skip: false
+ PreRequisitesInfra:
+ - CFNTemplateURL: "test/setup-infra/create_s3_bucket.yaml"
+ ImpactedParametersPath:
+ BucketName:
+ - "parameters.Section5dALBS3LogsBucketName"
+ - "parameters.Section6cCloudTrailLogsBucketName"
+ - "parameters.Section9dELBS3LogsBucketName"
+ Parameters:
+ Values:
+ Section1aSumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ Section1bSumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ Section1cSumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ Section1dSumoLogicOrganizationId: '${SUMO_ORG_ID}'
+ Section2aAccountAlias: 'upgradev210to211'
+ Section2bAccountAliasMappingS3URL: ''
+ Section3aInstallObservabilityApps: 'No'
+ Section4aCreateMetricsSourceOptions: 'CloudWatch Metrics Source'
+ Section4bMetricsNameSpaces: 'AWS/ApiGateway, AWS/DynamoDB, AWS/ElastiCache, AWS/SNS, AWS/SQS'
+ Section4cCloudWatchExistingSourceAPIUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section5aAutoEnableS3LogsALBResourcesOptions: 'None'
+ Section5bALBCreateLogSource: 'Yes'
+ Section5cALBLogsSourceUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section5dALBS3LogsBucketName: 'newapigateway'
+ Section5eALBS3BucketPathExpression: '*abc*'
+ Section6aCreateCloudTrailLogSource: 'Yes'
+ Section6bCloudTrailLogsSourceUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section6cCloudTrailLogsBucketName: 'newapigateway'
+ Section6dCloudTrailBucketPathExpression: '*abc*'
+ Section7aLambdaCreateCloudWatchLogsSourceOptions: 'Both (Switch from Lambda Log Forwarder to Kinesis Firehose Log Source)'
+ Section7bLambdaCloudWatchLogsSourceUrl: "https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763257213"
+ Section7cAutoSubscribeLogGroupsOptions: "Both"
+ Section9aAutoEnableS3LogsELBResourcesOptions: 'None'
+ Section9bELBCreateLogSource: 'Yes'
+ Section9cELBLogsSourceUrl: 'https://api.us2.sumologic.com/api/v1/collectors/350831942/sources/2763251087'
+ Section9dELBS3LogsBucketName: 'akhilblogs-'
+ Section9eELBS3BucketPathExpression: '*abc*'
+ Assertions:
+ - AssertType: ResourceExistence
+ Assert:
+ Resources:
+ - LambdaRole
+ - LambdaPermission
+ - PrimerInvoke
+ - TelemetryLambda
+ - CreateCommonResources
+ - sumoEC2MetricsAppStack
+ - sumoAlbMetricsAppStack
+ - sumoElbMetricsAppStack
+ - sumoDynamoDBMetricsAppStack
+ - sumoRdsMetricsAppStack
+ - sumoApiGatewayMetricsAppStack
+ - sumoSNSAppStack
+ - sumoSQSAppStack
+ - sumoLambdaMetricsAppStack
+ - sumoECSMetricsAppStack
+ - sumoElasticCacheMetricsAppStack
+ - CreateCommonResources.AddAccountField
+ - CreateCommonResources.AddRegionField
+ - CreateCommonResources.AddNamespaceField
+ - CreateCommonResources.AddAccountIdField
+ - CreateCommonResources.SumoLogicALBS3Policy
+ - CreateCommonResources.SumoLogicELBS3Policy
+ - CreateCommonResources.SumoLogicCloudTrailS3Policy
+ - CreateCommonResources.LambdaRole
+ - CreateCommonResources.LambdaHelper
+ - CreateCommonResources.AccountCheck
+ - CreateCommonResources.CreateSumoLogicAWSExplorerView
+ - CreateCommonResources.SumoLogicSourceRole
+ - CreateCommonResources.SumoLogicHostedCollector
+ - CreateCommonResources.LambdaToDecideCWMetricsSources
+ - CreateCommonResources.Primerinvoke
+ - CreateCommonResources.CloudWatchMetricsFirstStack
+ - CreateCommonResources.CloudWatchMetricsSecondStack
+ - CreateCommonResources.CloudWatchMetricsThirdStack.FirstCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsFirstStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsFirstStack.ThirdCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsSecondStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.CloudWatchMetricsThirdStack
+ - CreateCommonResources.CloudWatchMetricsThirdStack.SecondCloudwatchMetricsSource
+ - CreateCommonResources.ALBSource
+ - CreateCommonResources.ALBSNSTopic
+ - CreateCommonResources.ALBSNSpolicy
+ - CreateCommonResources.ALBSNSSubscription
+ - CreateCommonResources.ELBSource
+ - CreateCommonResources.ELBSNSTopic
+ - CreateCommonResources.ELBSNSpolicy
+ - CreateCommonResources.ELBSNSSubscription
+ - CreateCommonResources.CloudTrailSource
+ - CreateCommonResources.CloudTrailSNSTopic
+ - CreateCommonResources.CloudTrailSNSpolicy
+ - CreateCommonResources.CloudTrailSNSSubscription
+ - sumoRdsMetricsAppStack.ClusterMetricRule
+ - sumoRdsMetricsAppStack.InstanceMetricRule
+ - sumoLambdaMetricsAppStack.LambdaFieldExtractionRule
+ - sumoAlbMetricsAppStack.AlbLogsFieldExtractionRule
+ - sumoElbMetricsAppStack.ElbLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.CloudTrailLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.AccessLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.MetricRule
+ - sumoSNSAppStack.FieldExtractionRule
+ - sumoSQSAppStack.FieldExtractionRule
+ - sumoDynamoDBMetricsAppStack.FieldExtractionRule
+ - sumoLambdaMetricsAppStack.LambdaCloudWatchLogsFieldExtractionRule
+ - sumoLambdaMetricsAppStack.GenericCloudWatchLogsFieldExtractionRule
+ - sumoRdsMetricsAppStack.FieldExtractionRule
+ - sumoECSMetricsAppStack.FieldExtractionRule
+ - sumoElasticCacheMetricsAppStack.FieldExtractionRule
+ - sumoEC2MetricsAppStack.FieldExtractionRule
+ - sumoNlbMetricsAppStack
+ - sumoNlbMetricsAppStack.MetricRule
+ - CreateCommonResources.KinesisFirehoseLogsStack
+ - CreateCommonResources.KinesisFirehoseLogsSource
+ - CreateCommonResources.KinesisFirehoseLogsStack.AttachBucketPolicyToFirehoseLogsRole
+ - CreateCommonResources.KinesisFirehoseLogsStack.FailedDataBucket
+ - CreateCommonResources.KinesisFirehoseLogsStack.FirehoseLogsRole
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsDeliveryStream
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsFirehoseRolePolicy
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogGroup
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogStream
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogStreamS3
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsRole
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsRolePolicy
+ - CreateCommonResources.KinesisFirehoseLogsStack.SubscriptionFilter
+ - AutoEnableOptions
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.InvokeLambdaConnector
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupExistingLambdaConnector
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupExistingLambdaConnectorRole
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnector
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnectorLambdaTrigger
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnectorLambdaTriggerPermission
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnectorRole
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.sumoIAMPassRolePolicy
+ - CreateCommonResources.CloudWatchEventFunction
+ - CreateCommonResources.CloudWatchHTTPSource
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWDeadLetterQueue
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWEmailSNSTopic
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWEventsInvokeLambdaPermission
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLambdaExecutionRole
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLambdaPermission
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogGroup
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogSubsriptionFilter
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogsLambda
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWProcessDLQLambda
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWProcessDLQScheduleRule
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWSpilloverAlarm
+ - CreateCommonResources.AccountAliasValue
+ - sumoAlbMetricsAppStack.AccountAliasValue
+ - sumoAlbMetricsAppStack.LambdaHelper
+ - sumoAlbMetricsAppStack.LambdaRole
+ - sumoElbMetricsAppStack.AccountAliasValue
+ - sumoElbMetricsAppStack.LambdaHelper
+ - sumoElbMetricsAppStack.LambdaRole
+ - sumoLambdaMetricsAppStack.AccountAliasValue
+ - CreateCommonResources.LambdaHelperAlias
+ - CreateCommonResources.LambdaRoleAlias
+ - sumoAlbMetricsAppStack.AlbCloudTrailLogsFieldExtractionRule
+ - sumoElbMetricsAppStack.ClbCloudTrailLogsFieldExtractionRule
+ - AssertType: OutputsCheck
+ Assert:
+ Outputs:
+ - CreateCommonResources.LambdaHelperARN
+ - CreateCommonResources.EnterpriseCheck
+ - CreateCommonResources.PaidAccountCheck
+ - CreateCommonResources.Namespaces
+ - CreateCommonResources.LambdaRoleARN
+ - CreateCommonResources.KinesisLogsDeliveryStreamARN
+ - CreateCommonResources.KinesisLogsRoleARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsLogGroupARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsDeliveryStreamARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.KinesisLogsRoleARN
+ - CreateCommonResources.KinesisFirehoseLogsStack.FailedDataBucketArn
+ - AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources.SumoLogGroupLambdaConnector
+ - CreateCommonResources.CloudWatchLambdaARN
+ - CreateCommonResources.CloudWatchEventFunction.SumoCWLogsLambdaArn
+ - CreateCommonResources.CollectorName
+ - CreateCommonResources.AccountAlias
+ - AssertType: ParameterCheck
+ Assert:
+ CreateCommonResources:
+ AccountAlias: "upgradev210to211"
+ AccountAliasMappingS3URL: ""
+ CreateMetaDataSource: 'No'
+ MetaDataSourceName: ""
+ MetaDataSourceCategory: ""
+ CreateCloudWatchMetricsSource: 'Yes'
+ CloudWatchMetricsSourceName: 'cloudwatch-metrics-'
+ CloudWatchMetricsNameSpaces: "AWS/ApiGateway, AWS/DynamoDB, AWS/ElastiCache, AWS/SNS, AWS/SQS"
+ ScanInterval: "30000"
+ CloudWatchMetricSourceCategory: "aws/observability/cloudwatch/metrics"
+ CreateALBLogSource: 'Yes'
+ CreateALBS3Bucket: 'No'
+ ALBS3LogsBucketName: ""
+ ALBS3BucketPathExpression: ''
+ ALBLogsSourceName: "alb-logs-"
+ ALBLogsSourceCategory: "aws/observability/alb/logs"
+ CreateELBLogSource: 'Yes'
+ CreateELBS3Bucket: 'No'
+ ELBS3LogsBucketName: ""
+ ELBS3BucketPathExpression: ''
+ ELBLogsSourceName: "classic-lb-logs-"
+ ELBLogsSourceCategory: "aws/observability/clb/logs"
+ CreateCloudTrailLogSource: 'Yes'
+ CreateCloudTrailBucket: 'No'
+ CloudTrailLogsBucketName: ""
+ CloudTrailBucketPathExpression: ''
+ CloudTrailLogsSourceName: "cloudtrail-logs-"
+ CloudTrailLogsSourceCategory: "aws/observability/cloudtrail/logs"
+ CreateCloudWatchLogSource: 'Yes'
+ CloudWatchLogsSourceName: "cloudwatch-logs-"
+ CloudWatchLogsSourceCategory: "aws/observability/cloudwatch/logs"
+ CreateKinesisFirehoseLogSource: 'Yes'
+ KinesisFirehoseLogsSourceName: 'kinesis-firehose-cloudwatch-logs-'
+ KinesisFirehoseLogsSourceCategory: 'aws/observability/cloudwatch/logs'
+ CreateKinesisFirehoseMetricsSource: 'No'
+ KinesisFirehoseMetricsSourceName: 'cloudwatch-metrics-'
+ KinesisFirehoseMetricSourceCategory: 'aws/observability/cloudwatch/metrics'
+ CreateCommonResources.KinesisFirehoseLogsStack:
+ Section2aCreateS3Bucket: 'Yes'
+ AutoEnableOptions:
+ ALBAutoEnableS3Logs: 'No'
+ ELBAutoEnableS3Logs: 'No'
+ AutoSubscribeLogGroups: 'Yes'
+ AutoSubscribeLogGroupsOptions: 'Both'
+ AutoSubscribeDestinationARNType: 'Kinesis'
+ AutoSubscribeDestinationARNValue: 'arn::firehose:'
+ AutoSubscribeLogGroupPattern: 'lambda'
+ AutoSubscribeRoleArn: "arn::iam::"
+ AutoEnableOptions.AutoSubscribeLambdaLogGroupsAWSResources:
+ UseExistingLogs: 'true'
+ DestinationArnType: 'Kinesis'
+ DestinationArnValue: 'arn::firehose:'
+ LogGroupPattern: 'lambda'
+ RoleArn: "arn::iam::"
+ sumoEC2MetricsAppStack:
+ Section2aInstallApp: 'No'
+ sumoAlbMetricsAppStack:
+ Section2aAccountAlias: 'upgradev210to211'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aALBLogsAPIUrl: ''
+ Section5bALBLogsSourceName: '*alb-logs*'
+ sumoElbMetricsAppStack:
+ Section2aAccountAlias: 'upgradev210to211'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aELBLogsAPIUrl: ''
+ Section5bELBLogsSourceName: '*elb-logs*'
+ sumoDynamoDBMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoRdsMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoApiGatewayMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoLambdaMetricsAppStack:
+ Section2aAccountAlias: 'upgradev210to211'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aCloudTrailLogsAPIUrl: ''
+ Section5bCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section6aCloudWatchLogsAPIUrl: ''
+ Section6bCloudWatchLogsSourceName: '*cloudwatch-logs*'
+ sumoECSMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoElasticCacheMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoNlbMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aNLBLogsSourceName: ''
+ Section3bNLBSourceUpdated: 'No'
\ No newline at end of file
diff --git a/aws-observability/templates/test/testcases/upgrade_update/v2_15/v2_14_disabled_telemetry.yaml b/aws-observability/templates/test/testcases/upgrade_update/v2_15/v2_14_disabled_telemetry.yaml
new file mode 100644
index 00000000..8a296ffd
--- /dev/null
+++ b/aws-observability/templates/test/testcases/upgrade_update/v2_15/v2_14_disabled_telemetry.yaml
@@ -0,0 +1,238 @@
+---
+Global:
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ StackName: AWSO
+ ParallelTestsRun: 1
+ GlobalParameters:
+ Default:
+ Section1eSumoLogicResourceRemoveOnDeleteStack: 'true'
+ Update:
+ Section1fSumoLogicSendTelemetry: 'true'
+TestCase:
+ TestName: v2_14ToV2_15disabledTelemetry
+ UpgradeTemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
+ Regions: '${SUMO_REGIONS}'
+ Skip: false
+ PreRequisitesInfra:
+ - CFNTemplateURL: "test/setup-infra/create_s3_bucket.yaml"
+ ImpactedParametersPath:
+ BucketName:
+ - "parameters.Section5dALBS3LogsBucketName"
+ - "assertions[AssertType==ParameterCheck].Assert.CreateCommonResources.ALBS3LogsBucketName"
+ - "assertions[AssertType==ParameterCheck].Assert.AutoEnableOptions.ALBS3LogsBucketName"
+ - "assertions[AssertType==ParameterCheck].Assert['AutoEnableOptions#AutoEnableS3LogsAlbAWSResources'].BucketName"
+ - CFNTemplateURL: "test/setup-infra/create_sumo_lambda_hepler.yaml"
+ CFNParameters:
+ SumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ SumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ SumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ AccountAlias: "upgradeupdatet1"
+ - CFNTemplateURL: "test/setup-infra/create_sumo_collector.yaml"
+ CFNParameters:
+ SumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ SumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ SumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ SumoLambdaHelperArn: '${SumoLambdaHelperArn}'
+ - CFNTemplateURL: "test/setup-infra/create_sumo_cloudwatch_log_source.yaml"
+ CFNParameters:
+ SumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ SumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ SumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ SumoLambdaHelperArn: '${SumoLambdaHelperArn}'
+ SumoCollectorID: '${SumoCollectorID}'
+ AccountAlias: '${AccountAlias}'
+ ImpactedParametersPath:
+ SumoCloudWatchLogAPIURL:
+ - "parameters.Section7bLambdaCloudWatchLogsSourceUrl"
+ - "assertions[AssertType==ParameterCheck].Assert.sumoLambdaMetricsAppStack.Section6aCloudWatchLogsAPIUrl"
+ Parameters:
+ Values:
+ Section1aSumoLogicDeployment: '${SUMO_DEPLOYMENT}'
+ Section1bSumoLogicAccessID: '${SUMO_ACCESS_ID}'
+ Section1cSumoLogicAccessKey: '${SUMO_ACCESS_KEY}'
+ Section1dSumoLogicOrganizationId: '${SUMO_ORG_ID}'
+ Section2aAccountAlias: 'upgradeupdatet1'
+ Section2bAccountAliasMappingS3URL: ''
+ Section3aInstallObservabilityApps: 'No'
+ Section4aCreateMetricsSourceOptions: 'None'
+ Section4cCloudWatchExistingSourceAPIUrl: ''
+ Section5aAutoEnableS3LogsALBResourcesOptions: 'Existing'
+ Section5bALBCreateLogSource: 'Yes'
+ Section5dALBS3LogsBucketName: 'cf-templates-qpf3unpuo1hw-ap-southeast-4'
+ Section5eALBS3BucketPathExpression: '*abc*'
+ Section6aCreateCloudTrailLogSource: 'Yes'
+ Section7aLambdaCreateCloudWatchLogsSourceOptions: 'None'
+ Section7bLambdaCloudWatchLogsSourceUrl: 'https://api.sumologic.com/api/v1/collectors/261725249/sources/1511499202'
+ Section9bELBCreateLogSource: 'No'
+ UpdateParameters:
+ Values:
+ Section1fSumoLogicSendTelemetry: 'false'
+ Assertions:
+ - AssertType: ResourceExistence
+ Assert:
+ Resources:
+ - CreateCommonResources
+ - AutoEnableOptions
+ - sumoEC2MetricsAppStack
+ - sumoAlbMetricsAppStack
+ - sumoElbMetricsAppStack
+ - sumoDynamoDBMetricsAppStack
+ - sumoRdsMetricsAppStack
+ - sumoApiGatewayMetricsAppStack
+ - sumoSNSAppStack
+ - sumoSQSAppStack
+ - sumoLambdaMetricsAppStack
+ - sumoECSMetricsAppStack
+ - sumoElasticCacheMetricsAppStack
+ - CreateCommonResources.AddAccountField
+ - CreateCommonResources.AddRegionField
+ - CreateCommonResources.AddNamespaceField
+ - CreateCommonResources.AddAccountIdField
+ - CreateCommonResources.SumoLogicALBS3Policy
+ - CreateCommonResources.SumoLogicCloudTrailS3Policy
+ - CreateCommonResources.LambdaRole
+ - CreateCommonResources.LambdaHelper
+ - CreateCommonResources.AccountCheck
+ - CreateCommonResources.CommonBucketSNSTopic
+ - CreateCommonResources.CommonS3Bucket
+ - CreateCommonResources.CommonBucketPolicy
+ - CreateCommonResources.CommonSNSpolicy
+ - CreateCommonResources.CommonCloudTrail
+ - CreateCommonResources.CreateSumoLogicAWSExplorerView
+ - CreateCommonResources.SumoLogicSourceRole
+ - CreateCommonResources.SumoLogicHostedCollector
+ - CreateCommonResources.LambdaToDecideCWMetricsSources
+ - CreateCommonResources.Primerinvoke
+ - CreateCommonResources.ALBSource
+ - CreateCommonResources.ALBSNSTopic
+ - CreateCommonResources.ALBSNSpolicy
+ - CreateCommonResources.ALBSNSSubscription
+ - CreateCommonResources.CloudTrailSource
+ - CreateCommonResources.CloudTrailSNSSubscription
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources.EnableExisitngAWSResourcesLambda
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources.ExistingAWSResources
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources.SumoLambdaRole
+ - sumoRdsMetricsAppStack.ClusterMetricRule
+ - sumoRdsMetricsAppStack.InstanceMetricRule
+ - sumoLambdaMetricsAppStack.SumoHTTPUpdateSource
+ - sumoLambdaMetricsAppStack.LambdaFieldExtractionRule
+ - sumoAlbMetricsAppStack.AlbLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.CloudTrailLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.AccessLogsFieldExtractionRule
+ - sumoApiGatewayMetricsAppStack.MetricRule
+ - sumoSNSAppStack.FieldExtractionRule
+ - sumoSQSAppStack.FieldExtractionRule
+ - sumoDynamoDBMetricsAppStack.FieldExtractionRule
+ - sumoEC2MetricsAppStack.FieldExtractionRule
+ - sumoLambdaMetricsAppStack.LambdaCloudWatchLogsFieldExtractionRule
+ - sumoRdsMetricsAppStack.FieldExtractionRule
+ - sumoECSMetricsAppStack.FieldExtractionRule
+ - sumoElasticCacheMetricsAppStack.FieldExtractionRule
+ - sumoNlbMetricsAppStack
+ - sumoNlbMetricsAppStack.MetricRule
+ - CreateCommonResources.AccountAliasValue
+ - sumoAlbMetricsAppStack.AccountAliasValue
+ - sumoAlbMetricsAppStack.LambdaHelper
+ - sumoAlbMetricsAppStack.LambdaRole
+ - sumoElbMetricsAppStack.AccountAliasValue
+ - sumoElbMetricsAppStack.LambdaHelper
+ - sumoElbMetricsAppStack.LambdaRole
+ - sumoLambdaMetricsAppStack.AccountAliasValue
+ - sumoLambdaMetricsAppStack.GenericCloudWatchLogsFieldExtractionRule
+ - CreateCommonResources.LambdaHelperAlias
+ - CreateCommonResources.LambdaRoleAlias
+ - AssertType: OutputsCheck
+ Assert:
+ Outputs:
+ - CreateCommonResources.LambdaHelperARN
+ - CreateCommonResources.EnterpriseCheck
+ - CreateCommonResources.PaidAccountCheck
+ - CreateCommonResources.Namespaces
+ - CreateCommonResources.LambdaRoleARN
+ - CreateCommonResources.BucketName
+ - AutoEnableOptions.AutoEnableS3LogsAlbAWSResources.EnableExisitngAWSResourcesLambda
+ - sumoLambdaMetricsAppStack.ExistingCloudWatchLogSourceName
+ - CreateCommonResources.CollectorName
+ - CreateCommonResources.AccountAlias
+ - AssertType: ParameterCheck
+ Assert:
+ CreateCommonResources:
+ AccountAlias: "upgradeupdatet1"
+ AccountAliasMappingS3URL: ""
+ CreateMetaDataSource: 'No'
+ MetaDataSourceName: ""
+ MetaDataSourceCategory: ""
+ CreateCloudWatchMetricsSource: 'No'
+ CloudWatchMetricsSourceName: ''
+ CloudWatchMetricsNameSpaces: "AWS/ApplicationELB, AWS/ApiGateway, AWS/DynamoDB, AWS/Lambda, AWS/RDS, AWS/ECS, AWS/ElastiCache, AWS/ELB, AWS/NetworkELB"
+ ScanInterval: "30000"
+ CloudWatchMetricSourceCategory: ""
+ CreateALBLogSource: 'Yes'
+ CreateALBS3Bucket: 'No'
+ ALBS3LogsBucketName: "cf-templates-qpf3unpuo1hw-ap-southeast-4"
+ ALBS3BucketPathExpression: '/elasticloadbalancing//*'
+ ALBLogsSourceName: "alb-logs-"
+ ALBLogsSourceCategory: "aws/observability/alb/logs"
+ CreateCloudTrailLogSource: 'Yes'
+ CreateCloudTrailBucket: 'Yes'
+ CloudTrailLogsBucketName: ""
+ CloudTrailBucketPathExpression: '/CloudTrail//*'
+ CloudTrailLogsSourceName: "cloudtrail-logs-"
+ CloudTrailLogsSourceCategory: "aws/observability/cloudtrail/logs"
+ CreateCloudWatchLogSource: 'No'
+ CloudWatchLogsSourceName: "cloudwatch-logs-"
+ CloudWatchLogsSourceCategory: "aws/observability/cloudwatch/logs"
+ CreateKinesisFirehoseLogSource: 'No'
+ KinesisFirehoseLogsSourceName: 'kinesis-firehose-cloudwatch-logs-'
+ KinesisFirehoseLogsSourceCategory: 'aws/observability/cloudwatch/logs'
+ CreateKinesisFirehoseMetricsSource: 'No'
+ KinesisFirehoseMetricsSourceName: 'cloudwatch-metrics-'
+ KinesisFirehoseMetricSourceCategory: 'aws/observability/cloudwatch/metrics'
+ AutoEnableOptions:
+ ALBAutoEnableS3Logs: 'Yes'
+ ALBS3LogsBucketName: 'cf-templates-qpf3unpuo1hw-ap-southeast-4'
+ AutoSubscribeLogGroups: 'No'
+ AutoEnableOptions.AutoEnableS3LogsAlbAWSResources:
+ BucketName: 'cf-templates-qpf3unpuo1hw-ap-southeast-4'
+ AutoEnableResourceOptions: 'Existing'
+ sumoEC2MetricsAppStack:
+ Section2aInstallApp: 'No'
+ sumoAlbMetricsAppStack:
+ Section2aAccountAlias: 'upgradeupdatet1'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aALBLogsAPIUrl: ''
+ Section5bALBLogsSourceName: '*alb-logs*'
+ sumoDynamoDBMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoRdsMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoApiGatewayMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoLambdaMetricsAppStack:
+ Section2aAccountAlias: 'upgradeupdatet1'
+ Section3aInstallApp: 'No'
+ Section4aCloudWatchExistingSourceAPIUrl: ''
+ Section5aCloudTrailLogsAPIUrl: ''
+ Section5bCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section6aCloudWatchLogsAPIUrl: 'https://api.sumologic.com/api/v1/collectors/261725249/sources/1511499202'
+ Section6bCloudWatchLogsSourceName: ''
+ sumoECSMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoElasticCacheMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aCloudTrailLogsSourceName: '*cloudtrail-logs*'
+ Section3bCloudTrailSourceUpdated: 'No'
+ sumoNlbMetricsAppStack:
+ Section2aInstallApp: 'No'
+ Section3aNLBLogsSourceName: ''
+ Section3bNLBSourceUpdated: 'No'
\ No newline at end of file
diff --git a/aws-observability/templates/test/testsuites/infra_testsuite.yaml b/aws-observability/templates/test/testsuites/infra_testsuite.yaml
index 0890a05e..4b989b9f 100644
--- a/aws-observability/templates/test/testsuites/infra_testsuite.yaml
+++ b/aws-observability/templates/test/testsuites/infra_testsuite.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testsuites/lb_testsuite.yaml b/aws-observability/templates/test/testsuites/lb_testsuite.yaml
index d90c30fa..beb1c36b 100644
--- a/aws-observability/templates/test/testsuites/lb_testsuite.yaml
+++ b/aws-observability/templates/test/testsuites/lb_testsuite.yaml
@@ -1,6 +1,6 @@
---
Global:
- TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
StackName: AWSO
ParallelTestsRun: 1
GlobalParameters:
diff --git a/aws-observability/templates/test/testsuites/update_v2_15_testsuite.yaml b/aws-observability/templates/test/testsuites/update_v2_15_testsuite.yaml
new file mode 100644
index 00000000..aa1c82d0
--- /dev/null
+++ b/aws-observability/templates/test/testsuites/update_v2_15_testsuite.yaml
@@ -0,0 +1,15 @@
+---
+Global:
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.15.0/sumologic_observability.master.template.yaml"
+ StackName: AWSO
+ ParallelTestsRun: 1
+ GlobalParameters:
+ Default:
+ Section1eSumoLogicResourceRemoveOnDeleteStack: 'true'
+ Section2aAccountAlias: 'updatet1'
+ Update:
+ Section1fSumoLogicSendTelemetry: 'true'
+TestSuiteName: updateTestsuiteV2_15
+TestCases:
+ - 'test/testcases/upgrade_update/update/v2_15/disabled_telemetry.yaml'
+ - 'test/testcases/upgrade_update/update/v2_15/existing_cloudtrail_bucket.yaml'
\ No newline at end of file
diff --git a/aws-observability/templates/test/testsuites/upgrade_update_v2_15_testsuite.yaml b/aws-observability/templates/test/testsuites/upgrade_update_v2_15_testsuite.yaml
new file mode 100644
index 00000000..2980f2c9
--- /dev/null
+++ b/aws-observability/templates/test/testsuites/upgrade_update_v2_15_testsuite.yaml
@@ -0,0 +1,15 @@
+---
+Global:
+ TemplatePath: "https://sumologic-appdev-aws-sam-apps.s3.amazonaws.com/aws-observability-versions/v2.14.0/sumologic_observability.master.template.yaml"
+ StackName: AWSO
+ ParallelTestsRun: 1
+ GlobalParameters:
+ Default:
+ Section1eSumoLogicResourceRemoveOnDeleteStack: 'true'
+ Section2aAccountAlias: 'upgradeupdatet1'
+TestSuiteName: upgradeAndUpdateTestsuiteV2_15
+TestCases:
+ - 'test/testcases/upgrade_update/upgrade/v2_15/v2_12_create_source_existing_bucket_existing_sources.yaml'
+ - 'test/testcases/upgrade_update/upgrade/v2_15/v2_13_create_source_existing_bucket_existing_sources.yaml'
+ - 'test/testcases/upgrade_update/upgrade/v2_15/v2_14_create_source_existing_bucket_existing_sources.yaml'
+ - 'test/testcases/upgrade_update/v2_15/v2_14_disabled_telemetry.yaml'
diff --git a/null-resource-terraform/src/sumoresource.py b/null-resource-terraform/src/sumoresource.py
index 6302aa47..64854153 100644
--- a/null-resource-terraform/src/sumoresource.py
+++ b/null-resource-terraform/src/sumoresource.py
@@ -45,7 +45,7 @@ def extract_params(self, event):
def api_endpoint(self):
if self.deployment == "us1":
return "https://api.sumologic.com/api"
- elif self.deployment in ["ca", "ch", "au", "de", "eu", "jp", "us2", "kr", "fed"]:
+ elif self.deployment in ["ca", "ch", "au", "de", "eu", "esc", "jp", "us2", "fed", "kr"]:
return "https://api.%s.sumologic.com/api" % self.deployment
else:
return 'https://%s-api.sumologic.net/api' % self.deployment
diff --git a/slo_packages/aws/README.md b/slo_packages/aws/README.md
index 41bf9a99..3462ada2 100644
--- a/slo_packages/aws/README.md
+++ b/slo_packages/aws/README.md
@@ -27,7 +27,7 @@ Required in the aws_slo.auto.tfvars file.
|------|-------------|------|---------|:--------:|
| [access\_id](#access\_id) | Sumo Logic Access ID. Visit https://help.sumologic.com/Manage/Security/Access-Keys#Create_an_access_key | `string` | n/a | yes |
| [access\_key](#access\_key) | Sumo Logic Access Key. Visit https://help.sumologic.com/Manage/Security/Access-Keys#Create_an_access_key | `string` | n/a | yes |
-| [environment](#environment) | Enter au, ca, ch, de, eu, jp, us2, kr, fed or us1. For more information on Sumo Logic deployments visit https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security | `string` | n/a | yes |
+| [environment](#environment) | Enter au, ca, ch, de, eu, esc, jp, us2, kr, fed or us1. For more information on Sumo Logic deployments visit https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security | `string` | n/a | yes |
| [folder](#folder) | Indicates the SLO installation folder. | `string` | `"AWS"` | no |
| [aws\_elb\_data\_filter](#aws\_elb\_data\_filter) | AWS ELB Data Filter. For eg: account=prod | `string` | `""` | yes |
| [time\_zone](#time\_zone) | Time zone for the SLO compliance. Follow the format in the IANA Time Zone Database. | `string` | `"Asia/Kolkata"` | yes |
diff --git a/slo_packages/aws/variables.tf b/slo_packages/aws/variables.tf
index 7fc34b20..5290db97 100644
--- a/slo_packages/aws/variables.tf
+++ b/slo_packages/aws/variables.tf
@@ -19,9 +19,8 @@ variable "environment" {
description = "Please update with your deployment, refer: https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security"
validation {
condition = contains([
- "US1",
- "us1","US2","us2","AU","au","CA","ca","CH","ch","DE","de","EU","eu","FED","fed","JP","jp","KR","kr"], var.environment)
- error_message = "Argument \"environment\" must be one of \"us1\",\"us2\",\"au\",\"ca\",\"ch\",\"de\",\"eu\",\"fed\",\"jp\",\"kr\"."
+ "US1","us1","US2","us2","AU","au","CA","ca","CH","ch","DE","de","EU","eu","ESC","esc","FED","fed","JP","jp","KR","kr"], var.environment)
+ error_message = "Argument \"environment\" must be one of \"us1\",\"us2\",\"au\",\"ca\",\"ch\",\"de\",\"eu\",\"esc\",\"fed\",\"jp\",\"kr\"."
}
}
variable "folder" {
diff --git a/software-development-optimization-terraform/scripts/set-sumologic-access-keys.sh b/software-development-optimization-terraform/scripts/set-sumologic-access-keys.sh
index 26d5157c..0ead16d8 100755
--- a/software-development-optimization-terraform/scripts/set-sumologic-access-keys.sh
+++ b/software-development-optimization-terraform/scripts/set-sumologic-access-keys.sh
@@ -16,7 +16,7 @@ sumologic_access_key=""
read -r sumologic_access_key
./scripts/update_sdo_variable sumo_access_key $sumologic_access_key
-echo -n "Sumo Logic Deployment Region [AU, CA, CH, DE, EU, JP, US2, KR, FED, US1]: "
+echo -n "Sumo Logic Deployment Region [AU, CA, CH, DE, EU, ESC, JP, US2, KR, FED, US1]: "
sumologic_deployment_region=""
read -r sumologic_deployment_region
# Make sure we only have to deal with lowercase region values
@@ -30,6 +30,9 @@ case $sumologic_deployment_region in
"us2")
sumologic_api_endpoint="https://api.us2.sumologic.com/api/"
;;
+ "ch")
+ sumologic_api_endpoint="https://api.ch.sumologic.com/api/"
+ ;;
"jp")
sumologic_api_endpoint="https://api.jp.sumologic.com/api/"
;;
@@ -42,6 +45,9 @@ case $sumologic_deployment_region in
"eu")
sumologic_api_endpoint="https://api.eu.sumologic.com/api/"
;;
+ "esc")
+ sumologic_api_endpoint="https://api.esc.sumologic.com/api/"
+ ;;
"de")
sumologic_api_endpoint="https://api.de.sumologic.com/api/"
;;
diff --git a/software-development-optimization-terraform/variables.tf b/software-development-optimization-terraform/variables.tf
index db1bbbed..b037a6ab 100644
--- a/software-development-optimization-terraform/variables.tf
+++ b/software-development-optimization-terraform/variables.tf
@@ -25,9 +25,9 @@ variable "deployment" {
description = "Please update with your deployment, refer: https://help.sumologic.com/APIs/General-API-Information/Sumo-Logic-Endpoints-and-Firewall-Security"
validation {
condition = contains([
- "US1",
- "us1", "US2", "us2", "AU", "au", "CA", "ca","DE", "de", "EU", "eu", "FED", "fed", "JP", "jp", "kr", "KR", "ch", "CH"], var.deployment)
- error_message = "Argument \"deployment\" must be one of \"us1\",\"us2\",\"au\",\"ca\",\"de\",\"eu\",\"fed\",\"jp\",\"kr\",\"ch\"."
+ "US1", "us1", "US2", "us2", "AU", "au", "CA", "ca", "ch", "CH", "DE", "de", "EU", "eu", "ESC", "esc", "FED", "fed", "JP", "jp", "kr", "KR"], var.deployment)
+ error_message = "Argument \"deployment\" must be one of \"us1\",\"us2\",\"au\",\"ca\",\"ch\",\"de\",\"eu\",\"esc\",\"fed\",\"jp\",\"kr\"."
+
}
}
variable "sumo_api_endpoint" {