Files
micromdm/cmd/mdmctl/remove.go
Jim Zajkowski 7a3715454a Chore: tidy for go 1.20 (#902)
Tidy code for Go 1.20 and update Go version for Docker and CI

---------

Co-authored-by: Kory Prince <korylprince@gmail.com>
2023-07-11 17:28:26 -05:00

78 lines
1.2 KiB
Go

package main
import (
"fmt"
"os"
"strings"
"github.com/go-kit/kit/log"
)
type removeCommand struct {
config *ServerConfig
*remoteServices
}
func (cmd *removeCommand) setup() error {
cfg, err := LoadServerConfig()
if err != nil {
return err
}
cmd.config = cfg
logger := log.NewLogfmtLogger(os.Stderr)
remote, err := setupClient(logger)
if err != nil {
return err
}
cmd.remoteServices = remote
return nil
}
func (cmd *removeCommand) Run(args []string) error {
if len(args) < 1 {
cmd.Usage()
os.Exit(1)
}
if err := cmd.setup(); err != nil {
return err
}
var run func([]string) error
switch strings.ToLower(args[0]) {
case "blueprints":
run = cmd.removeBlueprints
case "devices":
run = cmd.removeDevices
case "profiles":
run = cmd.removeProfiles
case "block":
run = cmd.removeBlock
case "dep-autoassigner":
run = cmd.removeDEPAutoAssigner
default:
cmd.Usage()
os.Exit(1)
}
return run(args[1:])
}
func (cmd *removeCommand) Usage() error {
const getUsage = `
Display one or many resources.
Valid resource types:
* blueprints
* devices
* profiles
* block
* dep-autoassigner
`
fmt.Print(getUsage)
return nil
}