Add JSON and YAML output options to flux tree cmd

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
This commit is contained in:
Stefan Prodan
2021-10-24 14:49:21 +03:00
parent 80ef184b60
commit 078cfe92c2
2 changed files with 29 additions and 9 deletions

View File

@ -36,8 +36,8 @@ const (
type (
objMetadataTree struct {
objMetadata object.ObjMetadata
items []ObjMetadataTree
Resource object.ObjMetadata `json:"resource"`
ResourceTree []ObjMetadataTree `json:"resources,omitempty"`
}
ObjMetadataTree interface {
@ -58,27 +58,27 @@ type (
func New(objMetadata object.ObjMetadata) ObjMetadataTree {
return &objMetadataTree{
objMetadata: objMetadata,
items: []ObjMetadataTree{},
Resource: objMetadata,
ResourceTree: []ObjMetadataTree{},
}
}
func (t *objMetadataTree) Add(objMetadata object.ObjMetadata) ObjMetadataTree {
n := New(objMetadata)
t.items = append(t.items, n)
t.ResourceTree = append(t.ResourceTree, n)
return n
}
func (t *objMetadataTree) AddTree(tree ObjMetadataTree) {
t.items = append(t.items, tree)
t.ResourceTree = append(t.ResourceTree, tree)
}
func (t *objMetadataTree) Text() string {
return ssa.FmtObjMetadata(t.objMetadata)
return ssa.FmtObjMetadata(t.Resource)
}
func (t *objMetadataTree) Items() []ObjMetadataTree {
return t.items
return t.ResourceTree
}
func (t *objMetadataTree) Print() string {