From 99bcd659593970de4b2fd9c6ba0e3c4423f2788d Mon Sep 17 00:00:00 2001 From: Brent Baude Date: Sat, 16 Apr 2022 08:50:41 -0500 Subject: Add --quiet to machine ls The podman machine ls command would benefit from a --quiet flag which would only print the machine names without the extra information. It also implies --noheader as well. This can be helpful for scripting with the podman cli. Signed-off-by: Brent Baude [NO NEW TESTS NEEDED] Signed-off-by: Brent Baude --- cmd/podman/machine/list.go | 14 +++++++++++--- docs/source/markdown/podman-machine-list.1.md | 7 ++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/cmd/podman/machine/list.go b/cmd/podman/machine/list.go index b57d911a8..587e521a3 100644 --- a/cmd/podman/machine/list.go +++ b/cmd/podman/machine/list.go @@ -41,6 +41,7 @@ var ( type listFlagType struct { format string noHeading bool + quiet bool } type machineReporter struct { @@ -70,6 +71,7 @@ func init() { flags.StringVar(&listFlag.format, formatFlagName, "{{.Name}}\t{{.VMType}}\t{{.Created}}\t{{.LastUp}}\t{{.CPUs}}\t{{.Memory}}\t{{.DiskSize}}\n", "Format volume output using JSON or a Go template") _ = lsCmd.RegisterFlagCompletionFunc(formatFlagName, common.AutocompleteFormat(machineReporter{})) flags.BoolVar(&listFlag.noHeading, "noheading", false, "Do not print headers") + flags.BoolVarP(&listFlag.quiet, "quiet", "q", false, "Show only machine names") } func list(cmd *cobra.Command, args []string) error { @@ -79,6 +81,10 @@ func list(cmd *cobra.Command, args []string) error { err error ) + if listFlag.quiet { + listFlag.format = "{{.Name}}\n" + } + provider := getSystemDefaultProvider() listResponse, err = provider.List(opts) if err != nil { @@ -124,7 +130,10 @@ func outputTemplate(cmd *cobra.Command, responses []*machineReporter) error { "Memory": "MEMORY", "DiskSize": "DISK SIZE", }) - + printHeader := !listFlag.noHeading + if listFlag.quiet { + printHeader = false + } var row string switch { case cmd.Flags().Changed("format"): @@ -146,8 +155,7 @@ func outputTemplate(cmd *cobra.Command, responses []*machineReporter) error { return err } defer w.Flush() - - if !listFlag.noHeading { + if printHeader { if err := tmpl.Execute(w, headers); err != nil { return errors.Wrapf(err, "failed to write report column headers") } diff --git a/docs/source/markdown/podman-machine-list.1.md b/docs/source/markdown/podman-machine-list.1.md index d1333f1e2..0c5310463 100644 --- a/docs/source/markdown/podman-machine-list.1.md +++ b/docs/source/markdown/podman-machine-list.1.md @@ -47,7 +47,12 @@ Print usage statement. #### **--noheading** -Omit the table headings from the listing of pods. +Omit the table headings from the listing of machines + +#### **--quiet**, **-q** + +Only print the name of the machine. This also implies no table heading +is printed. ## EXAMPLES -- cgit v1.2.3-54-g00ecf