Recursive handling for command line flags

Every struct in a NodeConf with `lopt:"foo" set is now added as a
command-line flag with the RecursiveCreateFlags call. For maps a struct
with the key UNDEF is added so that it can be parsed out.

As the flags for the command-line need variables which hold the values,
for every map an element map[UNDEF] is added.  When now calling the
internal add, these map element can be filtered out and replace by the
given name. (e.g., --netname)

* rewrote node/profile add for recursive functions
* rewrote node/profile set for recursive functions
* rewrote node/profile list for recursive functions

Signed-off-by: Christian Goll <cgoll@suse.com>
This commit is contained in:
Christian Goll
2023-08-11 10:31:29 -06:00
committed by Jonathon Anderson
parent c55c5a2ac4
commit 45539a0d1f
29 changed files with 1346 additions and 714 deletions

View File

@@ -26,6 +26,8 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
req.Type = wwapiv1.GetNodeList_Network
} else if vars.showLong {
req.Type = wwapiv1.GetNodeList_Long
} else if vars.showFullAll {
req.Type = wwapiv1.GetNodeList_FullAll
}
nodeInfo, err := apinode.NodeList(&req)
if len(nodeInfo.Output) > 0 {