fix annotate.go single resource check

This commit is contained in:
juanvallejo 2016-07-20 16:24:29 -04:00
parent 8972b4ad4e
commit 1e71359a77

View File

@ -188,16 +188,7 @@ func (o *AnnotateOptions) Complete(f *cmdutil.Factory, out io.Writer, cmd *cobra
// Validate checks to the AnnotateOptions to see if there is sufficient information run the command.
func (o AnnotateOptions) Validate(args []string) error {
if err := validateAnnotations(o.removeAnnotations, o.newAnnotations); err != nil {
return err
}
// only apply resource version locking on a single resource
if len(o.resources) > 1 && len(o.resourceVersion) > 0 {
return fmt.Errorf("--resource-version may only be used with a single resource")
}
return nil
return validateAnnotations(o.removeAnnotations, o.newAnnotations)
}
// RunAnnotate does the work
@ -207,6 +198,17 @@ func (o AnnotateOptions) RunAnnotate() error {
return err
}
var singularResource bool
r.IntoSingular(&singularResource)
// only apply resource version locking on a single resource.
// we must perform this check after o.builder.Do() as
// []o.resources can not not accurately return the proper number
// of resources when they are not passed in "resource/name" format.
if !singularResource && len(o.resourceVersion) > 0 {
return fmt.Errorf("--resource-version may only be used with a single resource")
}
return r.Visit(func(info *resource.Info, err error) error {
if err != nil {
return err