in vpc-utils/awsutils.go [69:94]
func getVpcDetails(ctx context.Context, ec2Client *ec2.Client, groupId string) (vpcDetails, error) {
groupDescriptions, err := ec2Client.DescribeSecurityGroups(ctx, &ec2.DescribeSecurityGroupsInput{
GroupIds: []string{groupId},
})
if err != nil {
return vpcDetails{}, err
}
res := []vpcDetails{}
for _, group := range groupDescriptions.SecurityGroups {
vpcs, err := ec2Client.DescribeVpcs(ctx, &ec2.DescribeVpcsInput{
VpcIds: []string{*group.VpcId},
})
if err != nil {
return vpcDetails{}, err
}
for _, vpc := range vpcs.Vpcs {
name := FindTag(vpc.Tags, "Name", "unknown")
res = append(res, vpcDetails{
VpcName: name,
VpcId: *group.VpcId,
})
}
}
return res[0], nil // A security group cannot be associated with multiple VPCs.
}