...
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
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