github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/azure/datafactory/adapt.go (about)

     1  package datafactory
     2  
     3  import (
     4  	"github.com/khulnasoft-lab/defsec/pkg/providers/azure/datafactory"
     5  	"github.com/khulnasoft-lab/defsec/pkg/terraform"
     6  )
     7  
     8  func Adapt(modules terraform.Modules) datafactory.DataFactory {
     9  	return datafactory.DataFactory{
    10  		DataFactories: adaptFactories(modules),
    11  	}
    12  }
    13  
    14  func adaptFactories(modules terraform.Modules) []datafactory.Factory {
    15  	var factories []datafactory.Factory
    16  
    17  	for _, module := range modules {
    18  		for _, resource := range module.GetResourcesByType("azurerm_data_factory") {
    19  			factories = append(factories, adaptFactory(resource))
    20  		}
    21  	}
    22  	return factories
    23  }
    24  
    25  func adaptFactory(resource *terraform.Block) datafactory.Factory {
    26  	enablePublicNetworkAttr := resource.GetAttribute("public_network_enabled")
    27  	enablePublicNetworkVal := enablePublicNetworkAttr.AsBoolValueOrDefault(true, resource)
    28  
    29  	return datafactory.Factory{
    30  		Metadata:            resource.GetMetadata(),
    31  		EnablePublicNetwork: enablePublicNetworkVal,
    32  	}
    33  }