github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/azure/synapse/adapt.go (about) 1 package synapse 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/azure/synapse" 5 "github.com/khulnasoft-lab/defsec/pkg/terraform" 6 ) 7 8 func Adapt(modules terraform.Modules) synapse.Synapse { 9 return synapse.Synapse{ 10 Workspaces: adaptWorkspaces(modules), 11 } 12 } 13 14 func adaptWorkspaces(modules terraform.Modules) []synapse.Workspace { 15 var workspaces []synapse.Workspace 16 for _, module := range modules { 17 for _, resource := range module.GetResourcesByType("azurerm_synapse_workspace") { 18 workspaces = append(workspaces, adaptWorkspace(resource)) 19 } 20 } 21 return workspaces 22 } 23 24 func adaptWorkspace(resource *terraform.Block) synapse.Workspace { 25 enableManagedVNAttr := resource.GetAttribute("managed_virtual_network_enabled") 26 enableManagedVNVal := enableManagedVNAttr.AsBoolValueOrDefault(false, resource) 27 28 return synapse.Workspace{ 29 Metadata: resource.GetMetadata(), 30 EnableManagedVirtualNetwork: enableManagedVNVal, 31 } 32 }