github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/nifcloud/network/router.go (about)

     1  package network
     2  
     3  import (
     4  	"github.com/khulnasoft-lab/defsec/pkg/providers/nifcloud/network"
     5  	"github.com/khulnasoft-lab/defsec/pkg/terraform"
     6  	"github.com/khulnasoft-lab/defsec/pkg/types"
     7  )
     8  
     9  func adaptRouters(modules terraform.Modules) []network.Router {
    10  	var routers []network.Router
    11  
    12  	for _, resource := range modules.GetResourcesByType("nifcloud_router") {
    13  		routers = append(routers, adaptRouter(resource))
    14  	}
    15  	return routers
    16  }
    17  
    18  func adaptRouter(resource *terraform.Block) network.Router {
    19  	var networkInterfaces []network.NetworkInterface
    20  	networkInterfaceBlocks := resource.GetBlocks("network_interface")
    21  	for _, networkInterfaceBlock := range networkInterfaceBlocks {
    22  		networkInterfaces = append(
    23  			networkInterfaces,
    24  			network.NetworkInterface{
    25  				Metadata:     networkInterfaceBlock.GetMetadata(),
    26  				NetworkID:    networkInterfaceBlock.GetAttribute("network_id").AsStringValueOrDefault("", resource),
    27  				IsVipNetwork: types.Bool(false, networkInterfaceBlock.GetMetadata()),
    28  			},
    29  		)
    30  	}
    31  
    32  	return network.Router{
    33  		Metadata:          resource.GetMetadata(),
    34  		SecurityGroup:     resource.GetAttribute("security_group").AsStringValueOrDefault("", resource),
    35  		NetworkInterfaces: networkInterfaces,
    36  	}
    37  }