func MyENIConfig(ctx context.Context, k8sClient client.Client) (*v1alpha1.ENIConfigSpec, error) {
	eniConfigName, err := GetNodeSpecificENIConfigName(ctx, k8sClient)
	if err != nil {
		log.Debugf("Error while retrieving Node name")
	}
	log.Infof("Found ENI Config Name: %s", eniConfigName)
	var eniConfig v1alpha1.ENIConfig
	err = k8sClient.Get(ctx, types.NamespacedName{Name: eniConfigName}, &eniConfig)
	if err != nil {
		log.Errorf("error while retrieving eniconfig: %s", err)
		return nil, ErrNoENIConfig
	}
	return &v1alpha1.ENIConfigSpec{
		SecurityGroups: eniConfig.Spec.SecurityGroups,
		Subnet:         eniConfig.Spec.Subnet,
	}, nil
}
MyENIConfig returns the ENIConfig applicable to the particular node
package eniconfig
import (
	"context"
	"os"
	"k8s.io/apimachinery/pkg/types"
	"github.com/pkg/errors"
	corev1 "k8s.io/api/core/v1"
	"sigs.k8s.io/controller-runtime/pkg/client"
	"github.com/aws/amazon-vpc-cni-k8s/pkg/apis/crd/v1alpha1"
	"github.com/aws/amazon-vpc-cni-k8s/pkg/utils/logger"
)
const (
	defaultEniConfigAnnotationDef = "k8s.amazonaws.com/eniConfig"
	defaultEniConfigLabelDef      = "k8s.amazonaws.com/eniConfig"
	eniConfigDefault              = "default"
	eniConfigLabel                = "vpc.amazonaws.com/eniConfig"
	externalEniConfigLabel = "vpc.amazonaws.com/externalEniConfig"
	envEniConfigAnnotationDef = "ENI_CONFIG_ANNOTATION_DEF"
	envEniConfigLabelDef      = "ENI_CONFIG_LABEL_DEF"
)
type ENIConfig interface {
	MyENIConfig(client.Client) (*v1alpha1.ENIConfigSpec, error)
	GetENIConfigName(context.Context, client.Client) (string, error)
}
var ErrNoENIConfig = errors.New("eniconfig: eniconfig is not available")
var log = logger.Get()
type ENIConfigInfo struct {
	ENI                    map[string]v1alpha1.ENIConfigSpec
	MyENI                  string
	EniConfigAnnotationDef string
	EniConfigLabelDef      string
}