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  }