fix kubectl annotate local error

This commit is contained in:
zhouya0 2020-01-08 17:10:08 +08:00
parent c84b1a8a10
commit 568edf72ec

View File

@ -207,8 +207,17 @@ func (o AnnotateOptions) Validate() error {
if o.all && len(o.fieldSelector) > 0 { if o.all && len(o.fieldSelector) > 0 {
return fmt.Errorf("cannot set --all and --field-selector at the same time") return fmt.Errorf("cannot set --all and --field-selector at the same time")
} }
if len(o.resources) < 1 && cmdutil.IsFilenameSliceEmpty(o.Filenames, o.Kustomize) { if !o.local {
return fmt.Errorf("one or more resources must be specified as <resource> <name> or <resource>/<name>") if len(o.resources) < 1 && cmdutil.IsFilenameSliceEmpty(o.Filenames, o.Kustomize) {
return fmt.Errorf("one or more resources must be specified as <resource> <name> or <resource>/<name>")
}
} else {
if len(o.resources) > 0 {
return fmt.Errorf("can only use local files by -f rsrc.yaml or --filename=rsrc.json when --local=true is set")
}
if cmdutil.IsFilenameSliceEmpty(o.Filenames, o.Kustomize) {
return fmt.Errorf("one or more files must be specified as -f rsrc.yaml or --filename=rsrc.json")
}
} }
if len(o.newAnnotations) < 1 && len(o.removeAnnotations) < 1 { if len(o.newAnnotations) < 1 && len(o.removeAnnotations) < 1 {
return fmt.Errorf("at least one annotation update is required") return fmt.Errorf("at least one annotation update is required")