github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/terraform/aws/ec2/subnet.go (about) 1 package ec2 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/ec2" 5 "github.com/khulnasoft-lab/defsec/pkg/terraform" 6 ) 7 8 func adaptSubnets(modules terraform.Modules) []ec2.Subnet { 9 var subnets []ec2.Subnet 10 for _, module := range modules { 11 for _, resource := range module.GetResourcesByType("aws_subnet") { 12 subnets = append(subnets, adaptSubnet(resource, module)) 13 } 14 } 15 return subnets 16 } 17 18 func adaptSubnet(resource *terraform.Block, module *terraform.Module) ec2.Subnet { 19 mapPublicIpOnLaunchAttr := resource.GetAttribute("map_public_ip_on_launch") 20 mapPublicIpOnLaunchVal := mapPublicIpOnLaunchAttr.AsBoolValueOrDefault(false, resource) 21 22 return ec2.Subnet{ 23 Metadata: resource.GetMetadata(), 24 MapPublicIpOnLaunch: mapPublicIpOnLaunchVal, 25 } 26 }