diff options
author | Matthew Heon <matthew.heon@gmail.com> | 2017-11-01 11:24:59 -0400 |
---|---|---|
committer | Matthew Heon <matthew.heon@gmail.com> | 2017-11-01 11:24:59 -0400 |
commit | a031b83a09a8628435317a03f199cdc18b78262f (patch) | |
tree | bc017a96769ce6de33745b8b0b1304ccf38e9df0 /cmd/kpod/rename.go | |
parent | 2b74391cd5281f6fdf391ff8ad50fd1490f6bf89 (diff) | |
download | podman-a031b83a09a8628435317a03f199cdc18b78262f.tar.gz podman-a031b83a09a8628435317a03f199cdc18b78262f.tar.bz2 podman-a031b83a09a8628435317a03f199cdc18b78262f.zip |
Initial checkin from CRI-O repo
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Diffstat (limited to 'cmd/kpod/rename.go')
-rw-r--r-- | cmd/kpod/rename.go | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/cmd/kpod/rename.go b/cmd/kpod/rename.go new file mode 100644 index 000000000..b638856ed --- /dev/null +++ b/cmd/kpod/rename.go @@ -0,0 +1,49 @@ +package main + +import ( + "github.com/kubernetes-incubator/cri-o/libkpod" + "github.com/pkg/errors" + "github.com/urfave/cli" +) + +var ( + renameDescription = "Rename a container. Container may be created, running, paused, or stopped" + renameFlags = []cli.Flag{} + renameCommand = cli.Command{ + Name: "rename", + Usage: "rename a container", + Description: renameDescription, + Action: renameCmd, + ArgsUsage: "CONTAINER NEW-NAME", + Flags: renameFlags, + } +) + +func renameCmd(c *cli.Context) error { + if len(c.Args()) != 2 { + return errors.Errorf("Rename requires a src container name/ID and a dest container name") + } + if err := validateFlags(c, renameFlags); err != nil { + return err + } + + config, err := getConfig(c) + if err != nil { + return errors.Wrapf(err, "Could not get config") + } + server, err := libkpod.New(config) + if err != nil { + return errors.Wrapf(err, "could not get container server") + } + defer server.Shutdown() + err = server.Update() + if err != nil { + return errors.Wrapf(err, "could not update list of containers") + } + + err = server.ContainerRename(c.Args().Get(0), c.Args().Get(1)) + if err != nil { + return errors.Wrapf(err, "could not rename container") + } + return nil +} |