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

     1  package rdb
     2  
     3  import (
     4  	"github.com/khulnasoft-lab/defsec/pkg/providers/nifcloud/rdb"
     5  	"github.com/khulnasoft-lab/defsec/pkg/terraform"
     6  )
     7  
     8  func adaptDBInstances(modules terraform.Modules) []rdb.DBInstance {
     9  	var dbInstances []rdb.DBInstance
    10  
    11  	for _, resource := range modules.GetResourcesByType("nifcloud_db_instance") {
    12  		dbInstances = append(dbInstances, adaptDBInstance(resource))
    13  	}
    14  	return dbInstances
    15  }
    16  
    17  func adaptDBInstance(resource *terraform.Block) rdb.DBInstance {
    18  	return rdb.DBInstance{
    19  		Metadata:                  resource.GetMetadata(),
    20  		BackupRetentionPeriodDays: resource.GetAttribute("backup_retention_period").AsIntValueOrDefault(0, resource),
    21  		Engine:                    resource.GetAttribute("engine").AsStringValueOrDefault("", resource),
    22  		EngineVersion:             resource.GetAttribute("engine_version").AsStringValueOrDefault("", resource),
    23  		NetworkID:                 resource.GetAttribute("network_id").AsStringValueOrDefault("net-COMMON_PRIVATE", resource),
    24  		PublicAccess:              resource.GetAttribute("publicly_accessible").AsBoolValueOrDefault(true, resource),
    25  	}
    26  }