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 }