spiegel_podman/cmd/podman/network_rm.go
baude 6220ef1488 inclusion of podman network
adding podman network and the subcommands inspect, list, and rm.  the
inspect subcommand displays the raw cni network configuration.  the list
subcommand displays a summary of the cni networks ala ps.  and the rm
subcommand removes a cni network.

Signed-off-by: baude <bbaude@redhat.com>
2019-08-15 12:49:12 -05:00

48 lines
1.3 KiB
Go

// +build !remoteclient
package main
import (
"github.com/containers/libpod/cmd/podman/cliconfig"
"github.com/containers/libpod/pkg/adapter"
"github.com/containers/libpod/pkg/rootless"
"github.com/pkg/errors"
"github.com/spf13/cobra"
)
var (
networkrmCommand cliconfig.NetworkRmValues
networkrmDescription = `Remove networks`
_networkrmCommand = &cobra.Command{
Use: "rm [flags] NETWORK [NETWORK...]",
Short: "network rm",
Long: networkrmDescription,
RunE: func(cmd *cobra.Command, args []string) error {
networkrmCommand.InputArgs = args
networkrmCommand.GlobalFlags = MainGlobalOpts
networkrmCommand.Remote = remoteclient
return networkrmCmd(&networkrmCommand)
},
Example: `podman network rm podman`,
}
)
func init() {
networkrmCommand.Command = _networkrmCommand
networkrmCommand.SetHelpTemplate(HelpTemplate())
networkrmCommand.SetUsageTemplate(UsageTemplate())
}
func networkrmCmd(c *cliconfig.NetworkRmValues) error {
if rootless.IsRootless() && !remoteclient {
return errors.New("network rm is not supported for rootless mode")
}
if len(c.InputArgs) < 1 {
return errors.Errorf("at least one network name is required")
}
runtime, err := adapter.GetRuntimeNoStore(getContext(), &c.PodmanCommand)
if err != nil {
return err
}
return runtime.NetworkRemove(c)
}