diff options
| author | Jeff Carr <[email protected]> | 2025-04-21 18:24:34 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-04-21 20:54:42 -0500 |
| commit | a24448a9d4205dbe389b6f92fdc75a3349a0ef0e (patch) | |
| tree | 50818dd06cf90e817c1ba629563306424c8a5ed7 /doDroplet.go | |
| parent | 4121e66e01f5b314e4fe4999d61550fbbbc07946 (diff) | |
/event sends and gets an event PB
Diffstat (limited to 'doDroplet.go')
| -rw-r--r-- | doDroplet.go | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/doDroplet.go b/doDroplet.go index 804897e..38d9903 100644 --- a/doDroplet.go +++ b/doDroplet.go @@ -71,10 +71,25 @@ func doDroplet() (string, error) { for all.Scan() { vm := all.Next() if argv.Droplet.Name == vm.Hostname { - log.Info(vm.SprintHeader()) - txt := vm.FormatTEXT() - log.Info(txt) - return "droplet found", nil + if argv.Droplet.Show != nil { + log.Info(vm.SprintHeader()) + txt := vm.FormatTEXT() + log.Info(txt) + return "droplet status", nil + } + if argv.Droplet.Start != nil { + log.Info("should start droplet here") + log.Info(vm.SprintHeader()) + e := new(virtpb.Event) + e.Etype = virtpb.EventType_POWERON + e.DropletUuid = vm.Uuid + + if err := admin.postEvent(e); err != nil { + return "droplet start err", err + } + return "droplet start", nil + } + return "droplet found", fmt.Errorf("do what to the droplet?") } found.Append(vm) } @@ -82,3 +97,16 @@ func doDroplet() (string, error) { } return "", fmt.Errorf("droplet %s not found", argv.Droplet.Name) } + +func doEvent(e *virtpb.Event) *virtpb.Event { + result := new(virtpb.Event) + if e.Etype == virtpb.EventType_POWERON { + log.Println("power on droplet on local cluster here", e.DropletUuid) + result.State = virtpb.Event_DONE + rs, err := Start(e.DropletUuid) + log.Println("Start() returned", rs) + log.Println("Start() returned err", err) + } + + return result +} |
