github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/aws/efs/adapt.go (about) 1 package efs 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/efs" 5 "github.com/khulnasoft-lab/defsec/pkg/terraform" 6 ) 7 8 func Adapt(modules terraform.Modules) efs.EFS { 9 return efs.EFS{ 10 FileSystems: adaptFileSystems(modules), 11 } 12 } 13 14 func adaptFileSystems(modules terraform.Modules) []efs.FileSystem { 15 var filesystems []efs.FileSystem 16 for _, module := range modules { 17 for _, resource := range module.GetResourcesByType("aws_efs_file_system") { 18 filesystems = append(filesystems, adaptFileSystem(resource)) 19 } 20 } 21 return filesystems 22 } 23 24 func adaptFileSystem(resource *terraform.Block) efs.FileSystem { 25 encryptedAttr := resource.GetAttribute("encrypted") 26 encryptedVal := encryptedAttr.AsBoolValueOrDefault(false, resource) 27 28 return efs.FileSystem{ 29 Metadata: resource.GetMetadata(), 30 Encrypted: encryptedVal, 31 } 32 }