github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/internal/adapters/arm/synapse/adapt.go (about) 1 package synapse 2 3 import ( 4 "github.com/aquasecurity/defsec/pkg/providers/azure/synapse" 5 "github.com/aquasecurity/defsec/pkg/types" 6 "github.com/aquasecurity/trivy-iac/pkg/scanners/azure" 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 }