summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-01-14 22:03:01 -0500
committerGitHub <noreply@github.com>2021-01-14 22:03:01 -0500
commit3fcf346890c0437611fc18c30d58cc2d9f61fe6c (patch)
treea948999192d2089474214f4307eb454a9d0c2c59 /cmd
parent8ce9995951b14a0a4d7252cdd97597411fd5f980 (diff)
parent997de2f8e9e5453a99108bde012aa6c41d7323ec (diff)
downloadpodman-3fcf346890c0437611fc18c30d58cc2d9f61fe6c.tar.gz
podman-3fcf346890c0437611fc18c30d58cc2d9f61fe6c.tar.bz2
podman-3fcf346890c0437611fc18c30d58cc2d9f61fe6c.zip
Merge pull request #8955 from mheon/rename
Container Rename
Diffstat (limited to 'cmd')
-rw-r--r--cmd/podman/containers/rename.go56
1 files changed, 56 insertions, 0 deletions
diff --git a/cmd/podman/containers/rename.go b/cmd/podman/containers/rename.go
new file mode 100644
index 000000000..9c94e6272
--- /dev/null
+++ b/cmd/podman/containers/rename.go
@@ -0,0 +1,56 @@
+package containers
+
+import (
+ "github.com/containers/podman/v2/cmd/podman/common"
+ "github.com/containers/podman/v2/cmd/podman/registry"
+ "github.com/containers/podman/v2/pkg/domain/entities"
+ "github.com/pkg/errors"
+ "github.com/spf13/cobra"
+)
+
+var (
+ renameDescription = "The podman rename command allows you to rename an existing container"
+ renameCommand = &cobra.Command{
+ Use: "rename CONTAINER NAME",
+ Short: "Rename an existing container",
+ Long: renameDescription,
+ RunE: rename,
+ Args: cobra.ExactArgs(2),
+ ValidArgsFunction: common.AutocompletePortCommand,
+ Example: "podman rename containerA newName",
+ }
+
+ containerRenameCommand = &cobra.Command{
+ Use: renameCommand.Use,
+ Short: renameCommand.Short,
+ Long: renameCommand.Long,
+ RunE: renameCommand.RunE,
+ Args: renameCommand.Args,
+ ValidArgsFunction: renameCommand.ValidArgsFunction,
+ Example: "podman container rename containerA newName",
+ }
+)
+
+func init() {
+ // TODO: Once bindings are done, add this to TunnelMode
+ registry.Commands = append(registry.Commands, registry.CliCommand{
+ Mode: []entities.EngineMode{entities.ABIMode},
+ Command: renameCommand,
+ })
+
+ registry.Commands = append(registry.Commands, registry.CliCommand{
+ Mode: []entities.EngineMode{entities.ABIMode},
+ Command: containerRenameCommand,
+ Parent: containerCmd,
+ })
+}
+
+func rename(cmd *cobra.Command, args []string) error {
+ if len(args) > 2 {
+ return errors.Errorf("must provide at least two arguments to rename")
+ }
+ renameOpts := entities.ContainerRenameOptions{
+ NewName: args[1],
+ }
+ return registry.ContainerEngine().ContainerRename(registry.GetContext(), args[0], renameOpts)
+}