github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/nifcloud/rdb/db_security_group.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  	defsecTypes "github.com/khulnasoft-lab/defsec/pkg/types"
     7  )
     8  
     9  func adaptDBSecurityGroups(modules terraform.Modules) []rdb.DBSecurityGroup {
    10  	var dbSecurityGroups []rdb.DBSecurityGroup
    11  
    12  	for _, resource := range modules.GetResourcesByType("nifcloud_db_security_group") {
    13  		dbSecurityGroups = append(dbSecurityGroups, adaptDBSecurityGroup(resource))
    14  	}
    15  	return dbSecurityGroups
    16  }
    17  
    18  func adaptDBSecurityGroup(resource *terraform.Block) rdb.DBSecurityGroup {
    19  	var cidrs []defsecTypes.StringValue
    20  
    21  	for _, rule := range resource.GetBlocks("rule") {
    22  		cidrs = append(cidrs, rule.GetAttribute("cidr_ip").AsStringValueOrDefault("", resource))
    23  	}
    24  
    25  	return rdb.DBSecurityGroup{
    26  		Metadata:    resource.GetMetadata(),
    27  		Description: resource.GetAttribute("description").AsStringValueOrDefault("", resource),
    28  		CIDRs:       cidrs,
    29  	}
    30  }