github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/cmd/podman/network_inspect.go (about)

     1  // +build !remoteclient
     2  
     3  package main
     4  
     5  import (
     6  	"github.com/containers/libpod/cmd/podman/cliconfig"
     7  	"github.com/containers/libpod/pkg/adapter"
     8  	"github.com/containers/libpod/pkg/rootless"
     9  	"github.com/pkg/errors"
    10  	"github.com/spf13/cobra"
    11  )
    12  
    13  var (
    14  	networkinspectCommand     cliconfig.NetworkInspectValues
    15  	networkinspectDescription = `Inspect network`
    16  	_networkinspectCommand    = &cobra.Command{
    17  		Use:   "inspect NETWORK [NETWORK...] [flags] ",
    18  		Short: "network inspect",
    19  		Long:  networkinspectDescription,
    20  		RunE: func(cmd *cobra.Command, args []string) error {
    21  			networkinspectCommand.InputArgs = args
    22  			networkinspectCommand.GlobalFlags = MainGlobalOpts
    23  			networkinspectCommand.Remote = remoteclient
    24  			return networkinspectCmd(&networkinspectCommand)
    25  		},
    26  		Example: `podman network inspect podman`,
    27  	}
    28  )
    29  
    30  func init() {
    31  	networkinspectCommand.Command = _networkinspectCommand
    32  	networkinspectCommand.SetHelpTemplate(HelpTemplate())
    33  	networkinspectCommand.SetUsageTemplate(UsageTemplate())
    34  }
    35  
    36  func networkinspectCmd(c *cliconfig.NetworkInspectValues) error {
    37  	if rootless.IsRootless() && !remoteclient {
    38  		return errors.New("network inspect is not supported for rootless mode")
    39  	}
    40  	if len(c.InputArgs) < 1 {
    41  		return errors.Errorf("at least one network name is required")
    42  	}
    43  	runtime, err := adapter.GetRuntimeNoStore(getContext(), &c.PodmanCommand)
    44  	if err != nil {
    45  		return err
    46  	}
    47  	return runtime.NetworkInspect(c)
    48  }