github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/azure/datalake/adapt.go (about) 1 package datalake 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/azure/datalake" 5 "github.com/khulnasoft-lab/defsec/pkg/terraform" 6 "github.com/khulnasoft-lab/defsec/pkg/types" 7 ) 8 9 func Adapt(modules terraform.Modules) datalake.DataLake { 10 return datalake.DataLake{ 11 Stores: adaptStores(modules), 12 } 13 } 14 15 func adaptStores(modules terraform.Modules) []datalake.Store { 16 var stores []datalake.Store 17 18 for _, module := range modules { 19 for _, resource := range module.GetResourcesByType("azurerm_data_lake_store") { 20 stores = append(stores, adaptStore(resource)) 21 } 22 } 23 return stores 24 } 25 26 func adaptStore(resource *terraform.Block) datalake.Store { 27 store := datalake.Store{ 28 Metadata: resource.GetMetadata(), 29 EnableEncryption: types.BoolDefault(true, resource.GetMetadata()), 30 } 31 encryptionStateAttr := resource.GetAttribute("encryption_state") 32 if encryptionStateAttr.Equals("Disabled") { 33 store.EnableEncryption = types.Bool(false, encryptionStateAttr.GetMetadata()) 34 } else if encryptionStateAttr.Equals("Enabled") { 35 store.EnableEncryption = types.Bool(true, encryptionStateAttr.GetMetadata()) 36 } 37 return store 38 }