github.com/scaleway/scaleway-cli@v1.11.1/pkg/cli/cmd_rm.go (about) 1 // Copyright (C) 2015 Scaleway. All rights reserved. 2 // Use of this source code is governed by a MIT-style 3 // license that can be found in the LICENSE.md file. 4 5 package cli 6 7 import "github.com/scaleway/scaleway-cli/pkg/commands" 8 9 var cmdRm = &Command{ 10 Exec: runRm, 11 UsageLine: "rm [OPTIONS] SERVER [SERVER...]", 12 Description: "Remove one or more servers", 13 Help: "Remove one or more servers.", 14 Examples: ` 15 $ scw rm myserver 16 $ scw rm -f myserver 17 $ scw rm my-stopped-server my-second-stopped-server 18 $ scw rm $(scw ps -q) 19 $ scw rm $(scw ps | grep mysql | awk '{print $1}') 20 `, 21 } 22 23 func init() { 24 cmdRm.Flag.BoolVar(&rmHelp, []string{"h", "-help"}, false, "Print usage") 25 cmdRm.Flag.BoolVar(&rmForce, []string{"f", "-force"}, false, "Force the removal of a server") 26 } 27 28 // Flags 29 var rmHelp bool // -h, --help flag 30 var rmForce bool // -f, --force flag 31 32 func runRm(cmd *Command, rawArgs []string) error { 33 if rmHelp { 34 return cmd.PrintUsage() 35 } 36 if len(rawArgs) < 1 { 37 return cmd.PrintShortUsage() 38 } 39 40 args := commands.RmArgs{ 41 Servers: rawArgs, 42 Force: rmForce, 43 } 44 ctx := cmd.GetContext(rawArgs) 45 return commands.RunRm(ctx, args) 46 }