in internal/controller/utils.go [291:310]
func verifySelectorObject(selector acpv1.Selector) error {
if selector.KeyFilter == nil && selector.SnapshotName == nil {
return fmt.Errorf("a selector uses 'labelFilter' but misses the 'keyFilter', 'keyFilter' is required for key-label pair filtering")
}
if selector.SnapshotName != nil {
if selector.KeyFilter != nil {
return fmt.Errorf("set both 'keyFilter' and 'snapshotName' in one selector causes ambiguity, only one of them should be set")
}
if selector.LabelFilter != nil {
return fmt.Errorf("'labelFilter' is not allowed when 'snapshotName' is set")
}
}
if selector.LabelFilter != nil && hasNonEscapedValueInLabel(*selector.LabelFilter) {
return fmt.Errorf("non-escaped reserved wildcard character '*' and multiple labels separator ',' are not supported in label filters")
}
return nil
}