Files
warewulf/internal/app/wwctl/node/export/main.go
Jonathon Anderson 900426ce81 Updated wwctl node export to include node IDs
- Fixed: #1718

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-10 13:41:40 -07:00

33 lines
744 B
Go

package export
import (
"github.com/spf13/cobra"
"github.com/warewulf/warewulf/internal/pkg/hostlist"
"github.com/warewulf/warewulf/internal/pkg/node"
"github.com/warewulf/warewulf/internal/pkg/util"
"github.com/warewulf/warewulf/internal/pkg/wwlog"
)
func CobraRunE(cmd *cobra.Command, args []string) error {
registry, err := node.New()
if err != nil {
return err
}
nodeMap := make(map[string]*node.Node)
names := hostlist.Expand(args)
if len(names) == 0 {
names = registry.ListAllNodes()
}
for _, name := range hostlist.Expand(names) {
if n, err := registry.GetNode(name); err == nil {
nodeMap[name] = &n
}
}
y, err := util.EncodeYaml(nodeMap)
if err != nil {
return err
}
wwlog.Output("%s", y)
return nil
}