github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/aws/accessanalyzer/accessanalyzer.go (about) 1 package accessanalyzer 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/accessanalyzer" 5 "github.com/khulnasoft-lab/defsec/pkg/terraform" 6 "github.com/khulnasoft-lab/defsec/pkg/types" 7 ) 8 9 func Adapt(modules terraform.Modules) accessanalyzer.AccessAnalyzer { 10 return accessanalyzer.AccessAnalyzer{ 11 Analyzers: adaptTrails(modules), 12 } 13 } 14 15 func adaptTrails(modules terraform.Modules) []accessanalyzer.Analyzer { 16 var analyzer []accessanalyzer.Analyzer 17 18 for _, module := range modules { 19 for _, resource := range module.GetResourcesByType("aws_accessanalyzer_analyzer") { 20 analyzer = append(analyzer, adaptAnalyzers(resource)) 21 } 22 } 23 return analyzer 24 } 25 26 func adaptAnalyzers(resource *terraform.Block) accessanalyzer.Analyzer { 27 28 analyzerName := resource.GetAttribute("analyzer_name") 29 analyzerNameAttr := analyzerName.AsStringValueOrDefault("", resource) 30 31 arnAnalyzer := resource.GetAttribute("arn") 32 arnAnalyzerAttr := arnAnalyzer.AsStringValueOrDefault("", resource) 33 34 return accessanalyzer.Analyzer{ 35 Metadata: resource.GetMetadata(), 36 Name: analyzerNameAttr, 37 ARN: arnAnalyzerAttr, 38 Active: types.BoolDefault(false, resource.GetMetadata()), 39 } 40 }