github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/arm/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/scanners/azure" 6 "github.com/khulnasoft-lab/defsec/pkg/types" 7 ) 8 9 func Adapt(deployment azure.Deployment) synapse.Synapse { 10 return synapse.Synapse{ 11 Workspaces: adaptWorkspaces(deployment), 12 } 13 } 14 15 func adaptWorkspaces(deployment azure.Deployment) (workspaces []synapse.Workspace) { 16 for _, resource := range deployment.GetResourcesByType("Microsoft.Synapse/workspaces") { 17 workspaces = append(workspaces, adaptWorkspace(resource)) 18 } 19 return workspaces 20 } 21 22 func adaptWorkspace(resource azure.Resource) synapse.Workspace { 23 24 managedVirtualNetwork := resource.Properties.GetMapValue("managedVirtualNetwork").AsString() 25 enableManagedVirtualNetwork := types.BoolDefault(false, resource.Metadata) 26 if managedVirtualNetwork == "default" { 27 enableManagedVirtualNetwork = types.Bool(true, resource.Metadata) 28 } 29 30 return synapse.Workspace{ 31 Metadata: resource.Metadata, 32 EnableManagedVirtualNetwork: enableManagedVirtualNetwork, 33 } 34 }