diff --git a/cli/server/new.go b/cli/server/new.go index f2e5eef2..814882f3 100644 --- a/cli/server/new.go +++ b/cli/server/new.go @@ -222,7 +222,6 @@ API tokens are read from the environment if specified, e.g. Where "$provider_TOKEN" is the expected env var format. `, - ArgsUsage: "", Flags: []cli.Flag{ internal.ServerProviderFlag, diff --git a/cli/server/remove.go b/cli/server/remove.go index 4d0ba3e9..72e54528 100644 --- a/cli/server/remove.go +++ b/cli/server/remove.go @@ -102,7 +102,7 @@ destroyed. var serverRemoveCommand = &cli.Command{ Name: "remove", Aliases: []string{"rm"}, - ArgsUsage: "", + ArgsUsage: "[]", Usage: "Remove a managed server", Description: ` This command removes a server from Abra management. @@ -117,15 +117,20 @@ like tears in rain. `, Flags: []cli.Flag{ rmServerFlag, + internal.ServerProviderFlag, // Hetzner internal.HetznerCloudNameFlag, internal.HetznerCloudAPITokenFlag, }, Action: func(c *cli.Context) error { - serverName, err := internal.ValidateServer(c) - if err != nil { - logrus.Fatal(err) + serverName := c.Args().Get(1) + if serverName != "" { + var err error + serverName, err = internal.ValidateServer(c) + if err != nil { + logrus.Fatal(err) + } } if !rmServer { @@ -160,15 +165,17 @@ like tears in rain. } - if err := client.DeleteContext(serverName); err != nil { - logrus.Fatal(err) - } + if serverName != "" { + if err := client.DeleteContext(serverName); err != nil { + logrus.Fatal(err) + } - if err := os.RemoveAll(filepath.Join(config.SERVERS_DIR, serverName)); err != nil { - logrus.Fatal(err) - } + if err := os.RemoveAll(filepath.Join(config.SERVERS_DIR, serverName)); err != nil { + logrus.Fatal(err) + } - logrus.Infof("server at %s has been lost in time, like tears in rain", serverName) + logrus.Infof("server at %s has been lost in time, like tears in rain", serverName) + } return nil },