github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/internal/adapters/terraform/aws/ec2/subnet.go (about) 1 package ec2 2 3 import ( 4 "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" 5 "github.com/aquasecurity/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 }