...

Source file src/edge-infra.dev/pkg/sds/ien/k8s/controllers/nodeagent/plugins/thinclient/selector/selectors.go

Documentation: edge-infra.dev/pkg/sds/ien/k8s/controllers/nodeagent/plugins/thinclient/selector

     1  package selector
     2  
     3  import "edge-infra.dev/pkg/sds/ien/k8s/controllers/nodeagent/plugins/thinclient/configobject"
     4  
     5  type Selectors []Selector
     6  
     7  // Return Selectors for given type (ConfigMap or Secret)
     8  func (selectors Selectors) FilterByObjectType(objectType string) (Selectors, error) {
     9  	if !(objectType == configMapObjectType || objectType == secretObjectType) {
    10  		return nil, errInvalidObjectType
    11  	}
    12  	filteredSelectors := Selectors{}
    13  	for _, selector := range selectors {
    14  		if selector.Type == objectType {
    15  			filteredSelectors = append(filteredSelectors, selector)
    16  		}
    17  	}
    18  	return filteredSelectors, nil
    19  }
    20  
    21  func (selectors Selectors) FindSelectorForConfigObject(configObject configobject.ConfigObject) (*Selector, error) {
    22  	for _, selector := range selectors {
    23  		matches, err := selector.MatchesConfigObject(configObject)
    24  		if err != nil {
    25  			return nil, err
    26  		} else if matches {
    27  			return &selector, nil
    28  		}
    29  	}
    30  	return nil, nil
    31  }
    32  

View as plain text