github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/cloudformation/aws/cloudtrail/trails.go (about) 1 package cloudtrail 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/cloudtrail" 5 "github.com/khulnasoft-lab/defsec/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 }