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

     1  package nas
     2  
     3  import (
     4  	"github.com/khulnasoft-lab/defsec/pkg/providers/nifcloud/nas"
     5  	"github.com/khulnasoft-lab/defsec/pkg/terraform"
     6  	defsecTypes "github.com/khulnasoft-lab/defsec/pkg/types"
     7  )
     8  
     9  func adaptNASSecurityGroups(modules terraform.Modules) []nas.NASSecurityGroup {
    10  	var nasSecurityGroups []nas.NASSecurityGroup
    11  
    12  	for _, resource := range modules.GetResourcesByType("nifcloud_nas_security_group") {
    13  		nasSecurityGroups = append(nasSecurityGroups, adaptNASSecurityGroup(resource))
    14  	}
    15  	return nasSecurityGroups
    16  }
    17  
    18  func adaptNASSecurityGroup(resource *terraform.Block) nas.NASSecurityGroup {
    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 nas.NASSecurityGroup{
    26  		Metadata:    resource.GetMetadata(),
    27  		Description: resource.GetAttribute("description").AsStringValueOrDefault("", resource),
    28  		CIDRs:       cidrs,
    29  	}
    30  }