add protection for missing apiversion so we never serialize a bad object

pull/8/head
David Eads 2018-05-16 12:12:27 -04:00
parent 0164605d31
commit 304bce3cdf
1 changed files with 8 additions and 0 deletions

View File

@ -52,6 +52,10 @@ func (p *JSONPrinter) PrintObj(obj runtime.Object, w io.Writer) error {
return err
}
if obj.GetObjectKind().GroupVersionKind().Empty() {
return fmt.Errorf("missing apiVersion or kind; try GetObjectKind().SetGroupVersionKind() if you know the type")
}
data, err := json.MarshalIndent(obj, "", " ")
if err != nil {
return err
@ -88,6 +92,10 @@ func (p *YAMLPrinter) PrintObj(obj runtime.Object, w io.Writer) error {
return err
}
if obj.GetObjectKind().GroupVersionKind().Empty() {
return fmt.Errorf("missing apiVersion or kind; try GetObjectKind().SetGroupVersionKind() if you know the type")
}
output, err := yaml.Marshal(obj)
if err != nil {
return err