...
1
16
17 package storage
18
19 import (
20 "context"
21 "fmt"
22
23 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24 "k8s.io/apimachinery/pkg/runtime"
25 "k8s.io/kubernetes/pkg/printers"
26 )
27
28
29 type TableConvertor struct {
30 printers.TableGenerator
31 }
32
33
34 func (c TableConvertor) ConvertToTable(ctx context.Context, obj runtime.Object, tableOptions runtime.Object) (*metav1.Table, error) {
35 noHeaders := false
36 if tableOptions != nil {
37 switch t := tableOptions.(type) {
38 case *metav1.TableOptions:
39 if t != nil {
40 noHeaders = t.NoHeaders
41 }
42 default:
43 return nil, fmt.Errorf("unrecognized type %T for table options, can't display tabular output", tableOptions)
44 }
45 }
46 return c.TableGenerator.GenerateTable(obj, printers.GenerateOptions{Wide: true, NoHeaders: noHeaders})
47 }
48
View as plain text