github.1git.de/docker/cli@v26.1.3+incompatible/cli/command/stack/ps.go (about)

     1  package stack
     2  
     3  import (
     4  	"github.com/docker/cli/cli"
     5  	"github.com/docker/cli/cli/command"
     6  	"github.com/docker/cli/cli/command/stack/options"
     7  	"github.com/docker/cli/cli/command/stack/swarm"
     8  	flagsHelper "github.com/docker/cli/cli/flags"
     9  	cliopts "github.com/docker/cli/opts"
    10  	"github.com/spf13/cobra"
    11  )
    12  
    13  func newPsCommand(dockerCli command.Cli) *cobra.Command {
    14  	opts := options.PS{Filter: cliopts.NewFilterOpt()}
    15  
    16  	cmd := &cobra.Command{
    17  		Use:   "ps [OPTIONS] STACK",
    18  		Short: "List the tasks in the stack",
    19  		Args:  cli.ExactArgs(1),
    20  		RunE: func(cmd *cobra.Command, args []string) error {
    21  			opts.Namespace = args[0]
    22  			if err := validateStackName(opts.Namespace); err != nil {
    23  				return err
    24  			}
    25  			return swarm.RunPS(cmd.Context(), dockerCli, opts)
    26  		},
    27  		ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
    28  			return completeNames(dockerCli)(cmd, args, toComplete)
    29  		},
    30  	}
    31  	flags := cmd.Flags()
    32  	flags.BoolVar(&opts.NoTrunc, "no-trunc", false, "Do not truncate output")
    33  	flags.BoolVar(&opts.NoResolve, "no-resolve", false, "Do not map IDs to Names")
    34  	flags.VarP(&opts.Filter, "filter", "f", "Filter output based on conditions provided")
    35  	flags.BoolVarP(&opts.Quiet, "quiet", "q", false, "Only display task IDs")
    36  	flags.StringVar(&opts.Format, "format", "", flagsHelper.FormatHelp)
    37  	return cmd
    38  }