github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/internal/adapters/terraform/oracle/adapt.go (about)

     1  package oracle
     2  
     3  import (
     4  	"github.com/aquasecurity/defsec/pkg/providers/oracle"
     5  	"github.com/aquasecurity/defsec/pkg/terraform"
     6  )
     7  
     8  func Adapt(modules terraform.Modules) oracle.Oracle {
     9  	return oracle.Oracle{
    10  		Compute: adaptCompute(modules),
    11  	}
    12  }
    13  
    14  func adaptCompute(modules terraform.Modules) oracle.Compute {
    15  	compute := oracle.Compute{
    16  		AddressReservations: nil,
    17  	}
    18  
    19  	for _, module := range modules {
    20  		for _, resource := range module.GetResourcesByType("opc_compute_ip_address_reservation") {
    21  			addressPoolAttr := resource.GetAttribute("ip_address_pool")
    22  			addressPoolVal := addressPoolAttr.AsStringValueOrDefault("", resource)
    23  			compute.AddressReservations = append(compute.AddressReservations, oracle.AddressReservation{
    24  				Metadata: resource.GetMetadata(),
    25  				Pool:     addressPoolVal,
    26  			})
    27  		}
    28  	}
    29  	return compute
    30  }