summaryrefslogtreecommitdiff
path: root/cmd/podmanV2/volumes/list.go
diff options
context:
space:
mode:
authorBrent Baude <bbaude@redhat.com>2020-04-16 12:25:26 -0500
committerBrent Baude <bbaude@redhat.com>2020-04-16 15:53:58 -0500
commit241326a9a8c20ad7f2bcf651416b836e7778e090 (patch)
tree4001e8e47a022bb1b9bfbf2332c42e1aeb802f9e /cmd/podmanV2/volumes/list.go
parent88c6fd06cd54fb9a8826306dfdf1a77e400de5de (diff)
downloadpodman-241326a9a8c20ad7f2bcf651416b836e7778e090.tar.gz
podman-241326a9a8c20ad7f2bcf651416b836e7778e090.tar.bz2
podman-241326a9a8c20ad7f2bcf651416b836e7778e090.zip
Podman V2 birth
remote podman v1 and replace with podman v2. Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/podmanV2/volumes/list.go')
-rw-r--r--cmd/podmanV2/volumes/list.go98
1 files changed, 0 insertions, 98 deletions
diff --git a/cmd/podmanV2/volumes/list.go b/cmd/podmanV2/volumes/list.go
deleted file mode 100644
index c38f78c73..000000000
--- a/cmd/podmanV2/volumes/list.go
+++ /dev/null
@@ -1,98 +0,0 @@
-package volumes
-
-import (
- "context"
- "html/template"
- "io"
- "os"
- "strings"
- "text/tabwriter"
-
- "github.com/containers/libpod/cmd/podmanV2/registry"
- "github.com/containers/libpod/pkg/domain/entities"
- "github.com/pkg/errors"
- "github.com/spf13/cobra"
-)
-
-var (
- volumeLsDescription = `
-podman volume ls
-
-List all available volumes. The output of the volumes can be filtered
-and the output format can be changed to JSON or a user specified Go template.`
- lsCommand = &cobra.Command{
- Use: "ls",
- Aliases: []string{"list"},
- Args: cobra.NoArgs,
- Short: "List volumes",
- Long: volumeLsDescription,
- RunE: list,
- }
-)
-
-var (
- // Temporary struct to hold cli values.
- cliOpts = struct {
- Filter []string
- Format string
- Quiet bool
- }{}
- lsOpts = entities.VolumeListOptions{}
-)
-
-func init() {
- registry.Commands = append(registry.Commands, registry.CliCommand{
- Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
- Command: lsCommand,
- Parent: volumeCmd,
- })
- flags := lsCommand.Flags()
- flags.StringSliceVarP(&cliOpts.Filter, "filter", "f", []string{}, "Filter volume output")
- flags.StringVar(&cliOpts.Format, "format", "{{.Driver}}\t{{.Name}}\n", "Format volume output using Go template")
- flags.BoolVarP(&cliOpts.Quiet, "quiet", "q", false, "Print volume output in quiet mode")
-}
-
-func list(cmd *cobra.Command, args []string) error {
- var w io.Writer = os.Stdout
- if cliOpts.Quiet && cmd.Flag("format").Changed {
- return errors.New("quiet and format flags cannot be used together")
- }
- for _, f := range cliOpts.Filter {
- filterSplit := strings.Split(f, "=")
- if len(filterSplit) < 2 {
- return errors.Errorf("filter input must be in the form of filter=value: %s is invalid", f)
- }
- lsOpts.Filter[filterSplit[0]] = append(lsOpts.Filter[filterSplit[0]], filterSplit[1:]...)
- }
- responses, err := registry.ContainerEngine().VolumeList(context.Background(), lsOpts)
- if err != nil {
- return err
- }
- // "\t" from the command line is not being recognized as a tab
- // replacing the string "\t" to a tab character if the user passes in "\t"
- cliOpts.Format = strings.Replace(cliOpts.Format, `\t`, "\t", -1)
- if cliOpts.Quiet {
- cliOpts.Format = "{{.Name}}\n"
- }
- headers := "DRIVER\tVOLUME NAME\n"
- row := cliOpts.Format
- if !strings.HasSuffix(cliOpts.Format, "\n") {
- row += "\n"
- }
- format := "{{range . }}" + row + "{{end}}"
- if !cliOpts.Quiet && !cmd.Flag("format").Changed {
- w = tabwriter.NewWriter(os.Stdout, 12, 2, 2, ' ', 0)
- format = headers + format
- }
- tmpl, err := template.New("listVolume").Parse(format)
- if err != nil {
- return err
- }
- if err := tmpl.Execute(w, responses); err != nil {
- return err
- }
- if flusher, ok := w.(interface{ Flush() error }); ok {
- return flusher.Flush()
- }
- return nil
-}