github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/internal/adapters/cloudformation/aws/cloudwatch/log_group.go (about) 1 package cloudwatch 2 3 import ( 4 "github.com/aquasecurity/defsec/pkg/providers/aws/cloudwatch" 5 "github.com/aquasecurity/defsec/pkg/types" 6 "github.com/aquasecurity/trivy-iac/pkg/scanners/cloudformation/parser" 7 ) 8 9 func getLogGroups(ctx parser.FileContext) (logGroups []cloudwatch.LogGroup) { 10 11 logGroupResources := ctx.GetResourcesByType("AWS::Logs::LogGroup") 12 13 for _, r := range logGroupResources { 14 group := cloudwatch.LogGroup{ 15 Metadata: r.Metadata(), 16 Arn: types.StringDefault("", r.Metadata()), 17 Name: r.GetStringProperty("LogGroupName"), 18 KMSKeyID: r.GetStringProperty("KmsKeyId"), 19 RetentionInDays: r.GetIntProperty("RetentionInDays", 0), 20 MetricFilters: nil, 21 } 22 logGroups = append(logGroups, group) 23 } 24 25 return logGroups 26 }