summaryrefslogtreecommitdiff
path: root/cmd/podman/network_rm.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2019-07-03 19:21:38 -0500
committerbaude <bbaude@redhat.com>2019-08-15 12:49:12 -0500
commit6220ef1488d3e135c332c265fdb6a3c7b240b561 (patch)
treeb4882936936c4d8c308c57ff0c460b3ae98897f3 /cmd/podman/network_rm.go
parent3f1657d729b4f4c367b3e124621a6f3a9a5769d4 (diff)
downloadpodman-6220ef1488d3e135c332c265fdb6a3c7b240b561.tar.gz
podman-6220ef1488d3e135c332c265fdb6a3c7b240b561.tar.bz2
podman-6220ef1488d3e135c332c265fdb6a3c7b240b561.zip
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>
Diffstat (limited to 'cmd/podman/network_rm.go')
-rw-r--r--cmd/podman/network_rm.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/cmd/podman/network_rm.go b/cmd/podman/network_rm.go
new file mode 100644
index 000000000..50bd48cea
--- /dev/null
+++ b/cmd/podman/network_rm.go
@@ -0,0 +1,48 @@
+// +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)
+}