func SetupControlSwitchesFlags() *ControlSwitches {
	var initFlags ControlSwitches
	initFlags.injectHugepageDownAPI = flag.Bool("injectHugepageDownApi", false, "Enable hugepage requests and limits into Downward API.")
	initFlags.resourceNameKeysFlag = flag.String("network-resource-name-keys", "k8s.v1.cni.cncf.io/resourceName", "comma separated resource name keys --network-resource-name-keys.")
	initFlags.resourcesHonorFlag = flag.Bool("honor-resources", false, "Honor the existing requested resources requests & limits --honor-resources")
	return &initFlags
}
SetupControlSwitchesFlags - setup all control switches flags that can be set as command line NRI arguments
:return pointer to the structure that should be initialized with InitControlSwitches
package controlswitches
import (
	"encoding/json"
	"flag"
	"fmt"
	"strings"
	"github.com/golang/glog"
	corev1 "k8s.io/api/core/v1"
)
const (
	controlSwitchesFileKey = "config.json"
	controlSwitchesMainKey = "features"
	enableHugePageDownAPIKey = "enableHugePageDownApi"
	enableHonorExistingResourcesKey = "enableHonorExistingResources"
)
type controlSwitchesStates struct {
	active  bool
	initial bool
}
func (state *controlSwitchesStates) setActiveToInitialState() {
	state.active = state.initial
}
func (state *controlSwitchesStates) setActiveState(value bool) {
	state.active = value
}
type ControlSwitches struct {
	injectHugepageDownAPI *bool
	resourceNameKeysFlag  *string
	resourcesHonorFlag    *bool
	configuration    map[string]controlSwitchesStates
	resourceNameKeys []string
	isValid          bool
}