github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/internal/adapters/cloudformation/aws/cloudtrail/trails.go (about) 1 package cloudtrail 2 3 import ( 4 "github.com/aquasecurity/defsec/pkg/providers/aws/cloudtrail" 5 "github.com/aquasecurity/trivy-iac/pkg/scanners/cloudformation/parser" 6 ) 7 8 func getCloudTrails(ctx parser.FileContext) (trails []cloudtrail.Trail) { 9 10 cloudtrailResources := ctx.GetResourcesByType("AWS::CloudTrail::Trail") 11 12 for _, r := range cloudtrailResources { 13 ct := cloudtrail.Trail{ 14 Metadata: r.Metadata(), 15 Name: r.GetStringProperty("TrailName"), 16 EnableLogFileValidation: r.GetBoolProperty("EnableLogFileValidation"), 17 IsMultiRegion: r.GetBoolProperty("IsMultiRegionTrail"), 18 KMSKeyID: r.GetStringProperty("KmsKeyId"), 19 CloudWatchLogsLogGroupArn: r.GetStringProperty("CloudWatchLogsLogGroupArn"), 20 IsLogging: r.GetBoolProperty("IsLogging"), 21 BucketName: r.GetStringProperty("S3BucketName"), 22 } 23 24 trails = append(trails, ct) 25 } 26 return trails 27 }