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

     1  package oracle
     2  
     3  import (
     4  	"github.com/khulnasoft-lab/defsec/pkg/providers/oracle"
     5  	"github.com/khulnasoft-lab/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  }