github.1git.de/docker/cli@v26.1.3+incompatible/cli/command/network/inspect.go (about) 1 // FIXME(thaJeztah): remove once we are a module; the go:build directive prevents go from downgrading language version to go1.16: 2 //go:build go1.19 3 4 package network 5 6 import ( 7 "context" 8 9 "github.com/docker/cli/cli" 10 "github.com/docker/cli/cli/command" 11 "github.com/docker/cli/cli/command/completion" 12 "github.com/docker/cli/cli/command/inspect" 13 flagsHelper "github.com/docker/cli/cli/flags" 14 "github.com/docker/docker/api/types" 15 "github.com/spf13/cobra" 16 ) 17 18 type inspectOptions struct { 19 format string 20 names []string 21 verbose bool 22 } 23 24 func newInspectCommand(dockerCli command.Cli) *cobra.Command { 25 var opts inspectOptions 26 27 cmd := &cobra.Command{ 28 Use: "inspect [OPTIONS] NETWORK [NETWORK...]", 29 Short: "Display detailed information on one or more networks", 30 Args: cli.RequiresMinArgs(1), 31 RunE: func(cmd *cobra.Command, args []string) error { 32 opts.names = args 33 return runInspect(cmd.Context(), dockerCli, opts) 34 }, 35 ValidArgsFunction: completion.NetworkNames(dockerCli), 36 } 37 38 cmd.Flags().StringVarP(&opts.format, "format", "f", "", flagsHelper.InspectFormatHelp) 39 cmd.Flags().BoolVarP(&opts.verbose, "verbose", "v", false, "Verbose output for diagnostics") 40 41 return cmd 42 } 43 44 func runInspect(ctx context.Context, dockerCli command.Cli, opts inspectOptions) error { 45 client := dockerCli.Client() 46 47 getNetFunc := func(name string) (any, []byte, error) { 48 return client.NetworkInspectWithRaw(ctx, name, types.NetworkInspectOptions{Verbose: opts.verbose}) 49 } 50 51 return inspect.Inspect(dockerCli.Out(), opts.names, opts.format, getNetFunc) 52 }