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  }