in internal/deployers/eksapi/infra.go [367:395]
func (m *InfrastructureManager) getVPCCNINetworkInterfaceIds(vpcId string) ([]string, error) {
paginator := ec2.NewDescribeNetworkInterfacesPaginator(m.clients.EC2(), &ec2.DescribeNetworkInterfacesInput{
Filters: []ec2types.Filter{
{
Name: aws.String("vpc-id"),
Values: []string{vpcId},
},
{
Name: aws.String("interface-type"),
Values: []string{"interface"},
},
{
Name: aws.String("tag-key"),
Values: []string{vpcCNIENITagKey, ipamControllerENITagKey},
},
},
})
var enis []string
for paginator.HasMorePages() {
page, err := paginator.NextPage(context.TODO())
if err != nil {
return nil, fmt.Errorf("failed to describe ENIs: %w", err)
}
for _, eni := range page.NetworkInterfaces {
enis = append(enis, *eni.NetworkInterfaceId)
}
}
return enis, nil
}