func (c *daemonShutdownCmd) FlagSet() *flagset.FlagSet {
	return c.flagset
}
FlagSet returns the FlagSet associated with the command. All the flags are
parsed before running the command.
package main
import (
	"flag"
	"time"
	"github.com/go-kit/kit/log"
	"github.com/go-kit/kit/log/level"
	"github.com/pborman/uuid"
	"github.com/pkg/errors"
	"github.com/spoke-d/clui"
	"github.com/spoke-d/clui/flagset"
	"github.com/spoke-d/thermionic/internal/exec"
	"github.com/spoke-d/thermionic/pkg/events"
)
type daemonShutdownCmd struct {
	ui      clui.UI
	flagset *flagset.FlagSet
	debug      bool
	address    string
	serverCert string
	clientCert string
	clientKey  string
	timeout    string
}
func NewDaemonShutdownCmd(ui clui.UI) clui.Command {
	c := &daemonShutdownCmd{
		ui:      ui,
		flagset: flagset.NewFlagSet("shutdown", flag.ExitOnError),
	}
	c.init()
	return c
}
func (c *daemonShutdownCmd) init() {
	c.flagset.BoolVar(&c.debug, "debug", false, "debug logging")
	c.flagset.StringVar(&c.address, "address", "127.0.0.1:8080", "address of the api server")
	c.flagset.StringVar(&c.serverCert, "server-cert", "", "server certificate")
	c.flagset.StringVar(&c.clientCert, "client-cert", "", "client certificate")
	c.flagset.StringVar(&c.clientKey, "client-key", "", "client key")
	c.flagset.StringVar(&c.timeout, "timeout", "0", "duration of time to wait before giving up")
}
func (c *daemonShutdownCmd) UI() clui.UI {
	return c.ui
}