github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/nifcloud/computing/instance.go (about) 1 package computing 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/nifcloud/computing" 5 "github.com/khulnasoft-lab/defsec/pkg/terraform" 6 ) 7 8 func adaptInstances(modules terraform.Modules) []computing.Instance { 9 var instances []computing.Instance 10 11 for _, resource := range modules.GetResourcesByType("nifcloud_instance") { 12 instances = append(instances, adaptInstance(resource)) 13 } 14 return instances 15 } 16 17 func adaptInstance(resource *terraform.Block) computing.Instance { 18 var networkInterfaces []computing.NetworkInterface 19 networkInterfaceBlocks := resource.GetBlocks("network_interface") 20 for _, networkInterfaceBlock := range networkInterfaceBlocks { 21 networkInterfaces = append( 22 networkInterfaces, 23 computing.NetworkInterface{ 24 Metadata: networkInterfaceBlock.GetMetadata(), 25 NetworkID: networkInterfaceBlock.GetAttribute("network_id").AsStringValueOrDefault("", resource), 26 }, 27 ) 28 } 29 30 return computing.Instance{ 31 Metadata: resource.GetMetadata(), 32 SecurityGroup: resource.GetAttribute("security_group").AsStringValueOrDefault("", resource), 33 NetworkInterfaces: networkInterfaces, 34 } 35 }