github.com/devseccon/trivy@v0.47.1-0.20231123133102-bd902a0bd996/pkg/fanal/analyzer/config/cloudformation/cloudformation.go (about) 1 package cloudformation 2 3 import ( 4 "github.com/devseccon/trivy/pkg/fanal/analyzer" 5 "github.com/devseccon/trivy/pkg/fanal/analyzer/config" 6 "github.com/devseccon/trivy/pkg/misconf" 7 ) 8 9 const ( 10 analyzerType = analyzer.TypeCloudFormation 11 version = 1 12 ) 13 14 func init() { 15 analyzer.RegisterPostAnalyzer(analyzerType, newCloudFormationConfigAnalyzer) 16 } 17 18 // cloudFormationConfigAnalyzer is an analyzer for detecting misconfigurations in CloudFormation files. 19 // It embeds config.Analyzer so it can implement analyzer.PostAnalyzer. 20 type cloudFormationConfigAnalyzer struct { 21 *config.Analyzer 22 } 23 24 func newCloudFormationConfigAnalyzer(opts analyzer.AnalyzerOptions) (analyzer.PostAnalyzer, error) { 25 a, err := config.NewAnalyzer(analyzerType, version, misconf.NewCloudFormationScanner, opts) 26 if err != nil { 27 return nil, err 28 } 29 return &cloudFormationConfigAnalyzer{Analyzer: a}, nil 30 }