summaryrefslogtreecommitdiff
path: root/cmd/kpod/rename.go
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@gmail.com>2017-11-01 14:38:21 -0400
committerGitHub <noreply@github.com>2017-11-01 14:38:21 -0400
commitf5019df3f5da9030ce21e5c8ad3d3921a6585e7f (patch)
tree05412dcc190ca026dbe51a4ef72bb91ff646e7c6 /cmd/kpod/rename.go
parent2b74391cd5281f6fdf391ff8ad50fd1490f6bf89 (diff)
parenteab0737f1189a7b88f0a37a6b894ca4345b6853f (diff)
downloadpodman-f5019df3f5da9030ce21e5c8ad3d3921a6585e7f.tar.gz
podman-f5019df3f5da9030ce21e5c8ad3d3921a6585e7f.tar.bz2
podman-f5019df3f5da9030ce21e5c8ad3d3921a6585e7f.zip
Merge pull request #1 from mheon/master
Initial checkin
Diffstat (limited to 'cmd/kpod/rename.go')
-rw-r--r--cmd/kpod/rename.go49
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..68b9a6108
--- /dev/null
+++ b/cmd/kpod/rename.go
@@ -0,0 +1,49 @@
+package main
+
+import (
+ "github.com/projectatomic/libpod/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
+}