rename selector to labelSelector

This commit is contained in:
Di Xu 2017-08-04 14:54:17 +08:00
parent 210626577b
commit 057b7bf767
21 changed files with 58 additions and 56 deletions

View File

@ -205,7 +205,7 @@ func (o AnnotateOptions) RunAnnotate(f cmdutil.Factory, cmd *cobra.Command) erro
return err return err
} }
b = b.SelectorParam(o.selector). b = b.LabelSelectorParam(o.selector).
Unstructured(f.UnstructuredClientForMapping, mapper, typer). Unstructured(f.UnstructuredClientForMapping, mapper, typer).
ResourceTypeOrNameArgs(o.all, o.resources...). ResourceTypeOrNameArgs(o.all, o.resources...).
Latest() Latest()

View File

@ -219,7 +219,7 @@ func RunApply(f cmdutil.Factory, cmd *cobra.Command, out, errOut io.Writer, opti
ContinueOnError(). ContinueOnError().
NamespaceParam(cmdNamespace).DefaultNamespace(). NamespaceParam(cmdNamespace).DefaultNamespace().
FilenameParam(enforceNamespace, &options.FilenameOptions). FilenameParam(enforceNamespace, &options.FilenameOptions).
SelectorParam(options.Selector). LabelSelectorParam(options.Selector).
IncludeUninitialized(includeUninitialized). IncludeUninitialized(includeUninitialized).
Flatten(). Flatten().
Do() Do()

View File

@ -98,7 +98,7 @@ func (o *ViewLastAppliedOptions) Complete(f cmdutil.Factory, args []string) erro
FilenameParam(enforceNamespace, &o.FilenameOptions). FilenameParam(enforceNamespace, &o.FilenameOptions).
ResourceTypeOrNameArgs(enforceNamespace, args...). ResourceTypeOrNameArgs(enforceNamespace, args...).
SelectAllParam(o.All). SelectAllParam(o.All).
SelectorParam(o.Selector). LabelSelectorParam(o.Selector).
Latest(). Latest().
Flatten(). Flatten().
Do() Do()

View File

@ -74,7 +74,7 @@ func RunClusterInfo(f cmdutil.Factory, out io.Writer, cmd *cobra.Command) error
// TODO use generalized labels once they are implemented (#341) // TODO use generalized labels once they are implemented (#341)
b := f.NewBuilder(). b := f.NewBuilder().
NamespaceParam(cmdNamespace).DefaultNamespace(). NamespaceParam(cmdNamespace).DefaultNamespace().
SelectorParam("kubernetes.io/cluster-service=true"). LabelSelectorParam("kubernetes.io/cluster-service=true").
ResourceTypeOrNameArgs(false, []string{"services"}...). ResourceTypeOrNameArgs(false, []string{"services"}...).
Latest() Latest()
err = b.Do().Visit(func(r *resource.Info, err error) error { err = b.Do().Visit(func(r *resource.Info, err error) error {

View File

@ -194,7 +194,7 @@ func RunCreate(f cmdutil.Factory, cmd *cobra.Command, out, errOut io.Writer, opt
ContinueOnError(). ContinueOnError().
NamespaceParam(cmdNamespace).DefaultNamespace(). NamespaceParam(cmdNamespace).DefaultNamespace().
FilenameParam(enforceNamespace, &options.FilenameOptions). FilenameParam(enforceNamespace, &options.FilenameOptions).
SelectorParam(options.Selector). LabelSelectorParam(options.Selector).
Flatten(). Flatten().
Do() Do()
err = r.Err() err = r.Err()

View File

@ -182,7 +182,7 @@ func (o *DeleteOptions) Complete(f cmdutil.Factory, out, errOut io.Writer, args
ContinueOnError(). ContinueOnError().
NamespaceParam(cmdNamespace).DefaultNamespace(). NamespaceParam(cmdNamespace).DefaultNamespace().
FilenameParam(enforceNamespace, &o.FilenameOptions). FilenameParam(enforceNamespace, &o.FilenameOptions).
SelectorParam(o.Selector). LabelSelectorParam(o.Selector).
IncludeUninitialized(includeUninitialized). IncludeUninitialized(includeUninitialized).
SelectAllParam(o.DeleteAll). SelectAllParam(o.DeleteAll).
ResourceTypeOrNameArgs(false, args...).RequireObject(false). ResourceTypeOrNameArgs(false, args...).RequireObject(false).

View File

@ -129,7 +129,7 @@ func RunDescribe(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, a
ContinueOnError(). ContinueOnError().
NamespaceParam(cmdNamespace).DefaultNamespace().AllNamespaces(allNamespaces). NamespaceParam(cmdNamespace).DefaultNamespace().AllNamespaces(allNamespaces).
FilenameParam(enforceNamespace, options). FilenameParam(enforceNamespace, options).
SelectorParam(selector). LabelSelectorParam(selector).
IncludeUninitialized(includeUninitialized). IncludeUninitialized(includeUninitialized).
ResourceTypeOrNameArgs(true, args...). ResourceTypeOrNameArgs(true, args...).
Flatten(). Flatten().

View File

@ -243,7 +243,7 @@ func (o *DrainOptions) SetupDrain(cmd *cobra.Command, args []string) error {
Flatten() Flatten()
if len(o.Selector) > 0 { if len(o.Selector) > 0 {
builder = builder.SelectorParam(o.Selector). builder = builder.LabelSelectorParam(o.Selector).
ResourceTypes("nodes") ResourceTypes("nodes")
} }

View File

@ -206,7 +206,7 @@ func (o *LabelOptions) RunLabel(f cmdutil.Factory, cmd *cobra.Command) error {
return err return err
} }
b = b.SelectorParam(o.selector). b = b.LabelSelectorParam(o.selector).
Unstructured(f.UnstructuredClientForMapping, mapper, typer). Unstructured(f.UnstructuredClientForMapping, mapper, typer).
ResourceTypeOrNameArgs(o.all, o.resources...). ResourceTypeOrNameArgs(o.all, o.resources...).
Latest() Latest()

View File

@ -199,7 +199,7 @@ func (o *LogsOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Comm
builder.ResourceNames("pods", o.ResourceArg) builder.ResourceNames("pods", o.ResourceArg)
} }
if selector != "" { if selector != "" {
builder.ResourceTypes("pods").SelectorParam(selector) builder.ResourceTypes("pods").LabelSelectorParam(selector)
} }
infos, err := builder.Do().Infos() infos, err := builder.Do().Infos()
if err != nil { if err != nil {

View File

@ -233,7 +233,7 @@ func (options *GetOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []str
Unstructured(f.UnstructuredClientForMapping, mapper, typer). Unstructured(f.UnstructuredClientForMapping, mapper, typer).
NamespaceParam(options.Namespace).DefaultNamespace().AllNamespaces(options.AllNamespaces). NamespaceParam(options.Namespace).DefaultNamespace().AllNamespaces(options.AllNamespaces).
FilenameParam(options.ExplicitNamespace, &options.FilenameOptions). FilenameParam(options.ExplicitNamespace, &options.FilenameOptions).
SelectorParam(options.LabelSelector). LabelSelectorParam(options.LabelSelector).
ExportParam(options.Export). ExportParam(options.Export).
RequestChunksOf(options.ChunkSize). RequestChunksOf(options.ChunkSize).
IncludeUninitialized(cmdutil.ShouldIncludeUninitialized(cmd, false)). // TODO: this needs to be better factored IncludeUninitialized(cmdutil.ShouldIncludeUninitialized(cmd, false)). // TODO: this needs to be better factored
@ -450,7 +450,7 @@ func (options *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []s
Unstructured(f.UnstructuredClientForMapping, mapper, typer). Unstructured(f.UnstructuredClientForMapping, mapper, typer).
NamespaceParam(options.Namespace).DefaultNamespace().AllNamespaces(options.AllNamespaces). NamespaceParam(options.Namespace).DefaultNamespace().AllNamespaces(options.AllNamespaces).
FilenameParam(options.ExplicitNamespace, &options.FilenameOptions). FilenameParam(options.ExplicitNamespace, &options.FilenameOptions).
SelectorParam(options.LabelSelector). LabelSelectorParam(options.LabelSelector).
ExportParam(options.Export). ExportParam(options.Export).
RequestChunksOf(options.ChunkSize). RequestChunksOf(options.ChunkSize).
IncludeUninitialized(includeUninitialized). IncludeUninitialized(includeUninitialized).

View File

@ -110,7 +110,7 @@ func RunScale(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []strin
FilenameParam(enforceNamespace, options). FilenameParam(enforceNamespace, options).
ResourceTypeOrNameArgs(all, args...). ResourceTypeOrNameArgs(all, args...).
Flatten(). Flatten().
SelectorParam(selector). LabelSelectorParam(selector).
Do() Do()
err = r.Err() err = r.Err()
if resource.IsUsageError(err) { if resource.IsUsageError(err) {

View File

@ -240,7 +240,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
if !o.Local { if !o.Local {
b = b. b = b.
SelectorParam(o.Selector). LabelSelectorParam(o.Selector).
ResourceTypeOrNameArgs(o.All, o.From). ResourceTypeOrNameArgs(o.All, o.From).
Latest() Latest()
} else { } else {
@ -304,7 +304,7 @@ func (o *EnvOptions) RunEnv(f cmdutil.Factory) error {
if !o.Local { if !o.Local {
b = b. b = b.
SelectorParam(o.Selector). LabelSelectorParam(o.Selector).
ResourceTypeOrNameArgs(o.All, o.Resources...). ResourceTypeOrNameArgs(o.All, o.Resources...).
Latest() Latest()
} else { } else {

View File

@ -149,7 +149,7 @@ func (o *ImageOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []st
if !o.Local { if !o.Local {
builder = builder. builder = builder.
SelectorParam(o.Selector). LabelSelectorParam(o.Selector).
ResourceTypeOrNameArgs(o.All, o.Resources...). ResourceTypeOrNameArgs(o.All, o.Resources...).
Latest() Latest()
} else { } else {

View File

@ -153,7 +153,7 @@ func (o *ResourcesOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args
if !o.Local { if !o.Local {
builder = builder. builder = builder.
SelectorParam(o.Selector). LabelSelectorParam(o.Selector).
ResourceTypeOrNameArgs(o.All, args...). ResourceTypeOrNameArgs(o.All, args...).
Latest() Latest()
} else { } else {

View File

@ -135,7 +135,7 @@ func (o *SubjectOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
if !o.Local { if !o.Local {
builder = builder. builder = builder.
SelectorParam(o.Selector). LabelSelectorParam(o.Selector).
ResourceTypeOrNameArgs(o.All, args...). ResourceTypeOrNameArgs(o.All, args...).
Latest() Latest()
} else { } else {

View File

@ -152,7 +152,7 @@ func (o *TaintOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Com
ContinueOnError(). ContinueOnError().
NamespaceParam(namespace).DefaultNamespace() NamespaceParam(namespace).DefaultNamespace()
if o.selector != "" { if o.selector != "" {
o.builder = o.builder.SelectorParam(o.selector).ResourceTypes("node") o.builder = o.builder.LabelSelectorParam(o.selector).ResourceTypes("node")
} }
if o.all { if o.all {
o.builder = o.builder.SelectAllParam(o.all).ResourceTypes("node").Flatten().Latest() o.builder = o.builder.SelectAllParam(o.all).ResourceTypes("node").Flatten().Latest()
@ -160,7 +160,7 @@ func (o *TaintOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Com
if !o.all && o.selector == "" && len(o.resources) >= 2 { if !o.all && o.selector == "" && len(o.resources) >= 2 {
o.builder = o.builder.ResourceNames("node", o.resources[1:]...) o.builder = o.builder.ResourceNames("node", o.resources[1:]...)
} }
o.builder = o.builder.SelectorParam(o.selector). o.builder = o.builder.LabelSelectorParam(o.selector).
Flatten(). Flatten().
Latest() Latest()
o.f = f o.f = f

View File

@ -53,7 +53,7 @@ type Builder struct {
stream bool stream bool
dir bool dir bool
selector *string labelSelector *string
selectAll bool selectAll bool
includeUninitialized bool includeUninitialized bool
limitChunks int64 limitChunks int64
@ -274,24 +274,25 @@ func (b *Builder) ResourceNames(resource string, names ...string) *Builder {
return b return b
} }
// SelectorParam defines a selector that should be applied to the object types to load. // LabelSelectorParam defines a selector that should be applied to the object types to load.
// This will not affect files loaded from disk or URL. If the parameter is empty it is // This will not affect files loaded from disk or URL. If the parameter is empty it is
// a no-op - to select all resources invoke `b.Selector(labels.Everything.String)`. // a no-op - to select all resources invoke `b.LabelSelector(labels.Everything.String)`.
func (b *Builder) SelectorParam(s string) *Builder { func (b *Builder) LabelSelectorParam(s string) *Builder {
selector := strings.TrimSpace(s) selector := strings.TrimSpace(s)
if len(selector) == 0 { if len(selector) == 0 {
return b return b
} }
if b.selectAll { if b.selectAll {
b.errs = append(b.errs, fmt.Errorf("found non empty selector %q with previously set 'all' parameter. ", s)) b.errs = append(b.errs, fmt.Errorf("found non-empty label selector %q with previously set 'all' parameter. ", s))
return b return b
} }
return b.Selector(selector) return b.LabelSelector(selector)
} }
// Selector accepts a selector directly, and if non nil will trigger a list action. // LabelSelector accepts a selector directly and will filter the resulting list by that object.
func (b *Builder) Selector(selector string) *Builder { // Use LabelSelectorParam instead for user input.
b.selector = &selector func (b *Builder) LabelSelector(selector string) *Builder {
b.labelSelector = &selector
return b return b
} }
@ -349,7 +350,7 @@ func (b *Builder) RequestChunksOf(chunkSize int64) *Builder {
// SelectEverythingParam // SelectEverythingParam
func (b *Builder) SelectAllParam(selectAll bool) *Builder { func (b *Builder) SelectAllParam(selectAll bool) *Builder {
if selectAll && b.selector != nil { if selectAll && b.labelSelector != nil {
b.errs = append(b.errs, fmt.Errorf("setting 'all' parameter but found a non empty selector. ")) b.errs = append(b.errs, fmt.Errorf("setting 'all' parameter but found a non empty selector. "))
return b return b
} }
@ -394,9 +395,9 @@ func (b *Builder) ResourceTypeOrNameArgs(allowEmptySelector bool, args ...string
b.ResourceTypes(SplitResourceArgument(args[0])...) b.ResourceTypes(SplitResourceArgument(args[0])...)
case len(args) == 1: case len(args) == 1:
b.ResourceTypes(SplitResourceArgument(args[0])...) b.ResourceTypes(SplitResourceArgument(args[0])...)
if b.selector == nil && allowEmptySelector { if b.labelSelector == nil && allowEmptySelector {
selector := labels.Everything().String() selector := labels.Everything().String()
b.selector = &selector b.labelSelector = &selector
} }
case len(args) == 0: case len(args) == 0:
default: default:
@ -585,7 +586,7 @@ func (b *Builder) visitorResult() *Result {
if b.selectAll { if b.selectAll {
selector := labels.Everything().String() selector := labels.Everything().String()
b.selector = &selector b.labelSelector = &selector
} }
// visit items specified by paths // visit items specified by paths
@ -594,7 +595,7 @@ func (b *Builder) visitorResult() *Result {
} }
// visit selectors // visit selectors
if b.selector != nil { if b.labelSelector != nil {
return b.visitBySelector() return b.visitBySelector()
} }
@ -645,7 +646,7 @@ func (b *Builder) visitBySelector() *Result {
if mapping.Scope.Name() != meta.RESTScopeNameNamespace { if mapping.Scope.Name() != meta.RESTScopeNameNamespace {
selectorNamespace = "" selectorNamespace = ""
} }
visitors = append(visitors, NewSelector(client, mapping, selectorNamespace, *b.selector, b.export, b.includeUninitialized, b.limitChunks)) visitors = append(visitors, NewSelector(client, mapping, selectorNamespace, *b.labelSelector, b.export, b.includeUninitialized, b.limitChunks))
} }
if b.continueOnError { if b.continueOnError {
result.visitor = EagerVisitorList(visitors) result.visitor = EagerVisitorList(visitors)
@ -820,12 +821,12 @@ func (b *Builder) visitByPaths() *Result {
} }
visitors = NewDecoratedVisitor(visitors, RetrieveLatest) visitors = NewDecoratedVisitor(visitors, RetrieveLatest)
} }
if b.selector != nil { if b.labelSelector != nil {
selector, err := labels.Parse(*b.selector) selector, err := labels.Parse(*b.labelSelector)
if err != nil { if err != nil {
return result.withError(fmt.Errorf("the provided selector %q is not valid: %v", b.selector, err)) return result.withError(fmt.Errorf("the provided selector %q is not valid: %v", b.labelSelector, err))
} }
visitors = NewFilteredVisitor(visitors, FilterBySelector(selector)) visitors = NewFilteredVisitor(visitors, FilterByLabelSelector(selector))
} }
result.visitor = visitors result.visitor = visitors
result.sources = b.paths result.sources = b.paths

View File

@ -46,6 +46,7 @@ import (
restclientwatch "k8s.io/client-go/rest/watch" restclientwatch "k8s.io/client-go/rest/watch"
utiltesting "k8s.io/client-go/util/testing" utiltesting "k8s.io/client-go/util/testing"
"k8s.io/kubernetes/pkg/kubectl/scheme" "k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/api/legacyscheme"
) )
var ( var (
@ -697,7 +698,7 @@ func TestResourceByNameAndEmptySelector(t *testing.T) {
"/namespaces/test/pods/foo": runtime.EncodeOrDie(corev1Codec, &pods.Items[0]), "/namespaces/test/pods/foo": runtime.EncodeOrDie(corev1Codec, &pods.Items[0]),
}), corev1Codec). }), corev1Codec).
NamespaceParam("test"). NamespaceParam("test").
SelectorParam(""). LabelSelectorParam("").
ResourceTypeOrNameArgs(true, "pods", "foo") ResourceTypeOrNameArgs(true, "pods", "foo")
singleItemImplied := false singleItemImplied := false
@ -718,14 +719,14 @@ func TestResourceByNameAndEmptySelector(t *testing.T) {
} }
} }
func TestSelector(t *testing.T) { func TestLabelSelector(t *testing.T) {
pods, svc := testData() pods, svc := testData()
labelKey := metav1.LabelSelectorQueryParam(corev1GV.String()) labelKey := metav1.LabelSelectorQueryParam(corev1GV.String())
b := NewBuilder(restmapper, LegacyCategoryExpander, scheme.Scheme, fakeClientWith("", t, map[string]string{ b := NewBuilder(restmapper, LegacyCategoryExpander, scheme.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, pods), "/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, pods),
"/namespaces/test/services?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, svc), "/namespaces/test/services?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, svc),
}), corev1Codec). }), corev1Codec).
SelectorParam("a=b"). LabelSelectorParam("a=b").
NamespaceParam("test"). NamespaceParam("test").
Flatten() Flatten()
@ -751,9 +752,9 @@ func TestSelector(t *testing.T) {
} }
} }
func TestSelectorRequiresKnownTypes(t *testing.T) { func TestLabelSelectorRequiresKnownTypes(t *testing.T) {
b := NewBuilder(restmapper, LegacyCategoryExpander, scheme.Scheme, fakeClient(), corev1Codec). b := NewBuilder(restmapper, LegacyCategoryExpander, scheme.Scheme, fakeClient(), corev1Codec).
SelectorParam("a=b"). LabelSelectorParam("a=b").
NamespaceParam("test"). NamespaceParam("test").
ResourceTypes("unknown") ResourceTypes("unknown")
@ -764,7 +765,7 @@ func TestSelectorRequiresKnownTypes(t *testing.T) {
func TestSingleResourceType(t *testing.T) { func TestSingleResourceType(t *testing.T) {
b := NewBuilder(restmapper, LegacyCategoryExpander, scheme.Scheme, fakeClient(), corev1Codec). b := NewBuilder(restmapper, LegacyCategoryExpander, scheme.Scheme, fakeClient(), corev1Codec).
SelectorParam("a=b"). LabelSelectorParam("a=b").
SingleResourceType(). SingleResourceType().
ResourceTypeOrNameArgs(true, "pods,services") ResourceTypeOrNameArgs(true, "pods,services")
@ -1019,7 +1020,7 @@ func TestListObject(t *testing.T) {
b := NewBuilder(restmapper, LegacyCategoryExpander, scheme.Scheme, fakeClientWith("", t, map[string]string{ b := NewBuilder(restmapper, LegacyCategoryExpander, scheme.Scheme, fakeClientWith("", t, map[string]string{
"/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, pods), "/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, pods),
}), corev1Codec). }), corev1Codec).
SelectorParam("a=b"). LabelSelectorParam("a=b").
NamespaceParam("test"). NamespaceParam("test").
ResourceTypeOrNameArgs(true, "pods"). ResourceTypeOrNameArgs(true, "pods").
Flatten() Flatten()
@ -1053,7 +1054,7 @@ func TestListObjectWithDifferentVersions(t *testing.T) {
"/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, pods), "/namespaces/test/pods?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, pods),
"/namespaces/test/services?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, svc), "/namespaces/test/services?" + labelKey + "=a%3Db": runtime.EncodeOrDie(corev1Codec, svc),
}), corev1Codec). }), corev1Codec).
SelectorParam("a=b"). LabelSelectorParam("a=b").
NamespaceParam("test"). NamespaceParam("test").
ResourceTypeOrNameArgs(true, "pods,services"). ResourceTypeOrNameArgs(true, "pods,services").
Flatten(). Flatten().

View File

@ -30,7 +30,7 @@ type Selector struct {
Client RESTClient Client RESTClient
Mapping *meta.RESTMapping Mapping *meta.RESTMapping
Namespace string Namespace string
Selector string LabelSelector string
Export bool Export bool
IncludeUninitialized bool IncludeUninitialized bool
LimitChunks int64 LimitChunks int64
@ -42,7 +42,7 @@ func NewSelector(client RESTClient, mapping *meta.RESTMapping, namespace string,
Client: client, Client: client,
Mapping: mapping, Mapping: mapping,
Namespace: namespace, Namespace: namespace,
Selector: selector, LabelSelector: selector,
Export: export, Export: export,
IncludeUninitialized: includeUninitialized, IncludeUninitialized: includeUninitialized,
LimitChunks: limitChunks, LimitChunks: limitChunks,
@ -58,7 +58,7 @@ func (r *Selector) Visit(fn VisitorFunc) error {
r.ResourceMapping().GroupVersionKind.GroupVersion().String(), r.ResourceMapping().GroupVersionKind.GroupVersion().String(),
r.Export, r.Export,
&metav1.ListOptions{ &metav1.ListOptions{
LabelSelector: r.Selector, LabelSelector: r.LabelSelector,
IncludeUninitialized: r.IncludeUninitialized, IncludeUninitialized: r.IncludeUninitialized,
Limit: r.LimitChunks, Limit: r.LimitChunks,
Continue: continueToken, Continue: continueToken,
@ -71,17 +71,17 @@ func (r *Selector) Visit(fn VisitorFunc) error {
if errors.IsBadRequest(err) || errors.IsNotFound(err) { if errors.IsBadRequest(err) || errors.IsNotFound(err) {
if se, ok := err.(*errors.StatusError); ok { if se, ok := err.(*errors.StatusError); ok {
// modify the message without hiding this is an API error // modify the message without hiding this is an API error
if len(r.Selector) == 0 { if len(r.LabelSelector) == 0 {
se.ErrStatus.Message = fmt.Sprintf("Unable to list %q: %v", r.Mapping.Resource, se.ErrStatus.Message) se.ErrStatus.Message = fmt.Sprintf("Unable to list %q: %v", r.Mapping.Resource, se.ErrStatus.Message)
} else { } else {
se.ErrStatus.Message = fmt.Sprintf("Unable to find %q that match the selector %q: %v", r.Mapping.Resource, r.Selector, se.ErrStatus.Message) se.ErrStatus.Message = fmt.Sprintf("Unable to find %q that match the selector %q: %v", r.Mapping.Resource, r.LabelSelector, se.ErrStatus.Message)
} }
return se return se
} }
if len(r.Selector) == 0 { if len(r.LabelSelector) == 0 {
return fmt.Errorf("Unable to list %q: %v", r.Mapping.Resource, err) return fmt.Errorf("Unable to list %q: %v", r.Mapping.Resource, err)
} }
return fmt.Errorf("Unable to find %q that match the selector %q: %v", r.Mapping.Resource, r.Selector, err) return fmt.Errorf("Unable to find %q that match the selector %q: %v", r.Mapping.Resource, r.LabelSelector, err)
} }
return err return err
} }
@ -107,7 +107,7 @@ func (r *Selector) Visit(fn VisitorFunc) error {
} }
func (r *Selector) Watch(resourceVersion string) (watch.Interface, error) { func (r *Selector) Watch(resourceVersion string) (watch.Interface, error) {
return NewHelper(r.Client, r.Mapping).Watch(r.Namespace, resourceVersion, r.ResourceMapping().GroupVersionKind.GroupVersion().String(), r.Selector) return NewHelper(r.Client, r.Mapping).Watch(r.Namespace, resourceVersion, r.ResourceMapping().GroupVersionKind.GroupVersion().String(), r.LabelSelector)
} }
// ResourceMapping returns the mapping for this resource and implements ResourceMapping // ResourceMapping returns the mapping for this resource and implements ResourceMapping

View File

@ -691,7 +691,7 @@ func (v FilteredVisitor) Visit(fn VisitorFunc) error {
}) })
} }
func FilterBySelector(s labels.Selector) FilterFunc { func FilterByLabelSelector(s labels.Selector) FilterFunc {
return func(info *Info, err error) (bool, error) { return func(info *Info, err error) (bool, error) {
if err != nil { if err != nil {
return false, err return false, err