feat: allow to only destroy remote server

This commit is contained in:
decentral1se 2022-01-02 01:52:49 +01:00
parent 2c78ac22e0
commit 93c7612efc
Signed by: decentral1se
GPG Key ID: 03789458B3D0C410
2 changed files with 18 additions and 12 deletions

View File

@ -222,7 +222,6 @@ API tokens are read from the environment if specified, e.g.
Where "$provider_TOKEN" is the expected env var format. Where "$provider_TOKEN" is the expected env var format.
`, `,
ArgsUsage: "<provider>",
Flags: []cli.Flag{ Flags: []cli.Flag{
internal.ServerProviderFlag, internal.ServerProviderFlag,

View File

@ -102,7 +102,7 @@ destroyed.
var serverRemoveCommand = &cli.Command{ var serverRemoveCommand = &cli.Command{
Name: "remove", Name: "remove",
Aliases: []string{"rm"}, Aliases: []string{"rm"},
ArgsUsage: "<server>", ArgsUsage: "[<server>]",
Usage: "Remove a managed server", Usage: "Remove a managed server",
Description: ` Description: `
This command removes a server from Abra management. This command removes a server from Abra management.
@ -117,16 +117,21 @@ like tears in rain.
`, `,
Flags: []cli.Flag{ Flags: []cli.Flag{
rmServerFlag, rmServerFlag,
internal.ServerProviderFlag,
// Hetzner // Hetzner
internal.HetznerCloudNameFlag, internal.HetznerCloudNameFlag,
internal.HetznerCloudAPITokenFlag, internal.HetznerCloudAPITokenFlag,
}, },
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
serverName, err := internal.ValidateServer(c) serverName := c.Args().Get(1)
if serverName != "" {
var err error
serverName, err = internal.ValidateServer(c)
if err != nil { if err != nil {
logrus.Fatal(err) logrus.Fatal(err)
} }
}
if !rmServer { if !rmServer {
logrus.Warn("did not pass -s/--server for actual server deletion, prompting") logrus.Warn("did not pass -s/--server for actual server deletion, prompting")
@ -160,6 +165,7 @@ like tears in rain.
} }
if serverName != "" {
if err := client.DeleteContext(serverName); err != nil { if err := client.DeleteContext(serverName); err != nil {
logrus.Fatal(err) logrus.Fatal(err)
} }
@ -169,6 +175,7 @@ like tears in rain.
} }
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 return nil
}, },