github.com/devseccon/trivy@v0.47.1-0.20231123133102-bd902a0bd996/pkg/cloud/report/result.go (about) 1 package report 2 3 import ( 4 "fmt" 5 "io" 6 7 "github.com/aquasecurity/tml" 8 dbTypes "github.com/aquasecurity/trivy-db/pkg/types" 9 renderer "github.com/devseccon/trivy/pkg/report/table" 10 "github.com/devseccon/trivy/pkg/types" 11 ) 12 13 func writeResultsForARN(report *Report, results types.Results, output io.Writer, service, arn string, severities []dbTypes.Severity) error { 14 15 // render scan title 16 _ = tml.Fprintf(output, "\n<bold>Results for '%s' (%s Account %s)</bold>\n\n", arn, report.Provider, report.AccountID) 17 18 for _, result := range results { 19 var filtered []types.DetectedMisconfiguration 20 for _, misconfiguration := range result.Misconfigurations { 21 if arn != "" && misconfiguration.CauseMetadata.Resource != arn { 22 continue 23 } 24 if service != "" && misconfiguration.CauseMetadata.Service != service { 25 continue 26 } 27 filtered = append(filtered, misconfiguration) 28 } 29 if len(filtered) > 0 { 30 _, _ = fmt.Fprint(output, renderer.NewMisconfigRenderer(result, severities, false, false, true).Render()) 31 } 32 } 33 34 return nil 35 }