func Stop(name string) error { instanceName, instancePlatform := util.SearchInstance(name) if instanceName == "" { fmt.Printf("Instance: %s not found\n", name) return nil } var err error switch instancePlatform { case "qemu": err = qemu.StopVM(name) case "vbox": err = vbox.StopVM(name) case "vmw": err = vmw.StopVM(name) case "gce": err = gce.StopVM(name) } if err != nil { fmt.Printf("Failed to stop instance: %s\n", name) } fmt.Printf("Stopped instance: %s\n", name) return nil }
func Delete(name string) error { var err error instanceName, instancePlatform := util.SearchInstance(name) if instanceName == "" { fmt.Printf("Instance: %s not found\n", name) return nil } switch instancePlatform { case "qemu": qemu.StopVM(name) err = qemu.DeleteVM(name) case "vbox": vbox.StopVM(name) err = vbox.DeleteVM(name) case "vmw": vmw.StopVM(name) err = vmw.DeleteVM(name) case "gce": gce.StopVM(name) err = gce.DeleteVM(name) } if err != nil { fmt.Printf("Failed to delete instance: %s\n", name) return err } fmt.Printf("Deleted instance: %s\n", name) return nil }
func Stop(name string) error { instanceName := "" instancePlatform := "" rootDir := filepath.Join(util.HomePath(), ".capstan", "instances") platforms, _ := ioutil.ReadDir(rootDir) for _, platform := range platforms { if platform.IsDir() { platformDir := filepath.Join(rootDir, platform.Name()) instances, _ := ioutil.ReadDir(platformDir) for _, instance := range instances { if instance.IsDir() { if name == instance.Name() { instanceName = instance.Name() instancePlatform = platform.Name() } } } } } if instanceName == "" { fmt.Printf("Instance: %s not found\n", name) return nil } var err error switch instancePlatform { case "qemu": err = qemu.StopVM(name) case "vbox": err = vbox.StopVM(name) case "vmw": err = vmw.StopVM(name) } if err != nil { fmt.Printf("Failed to stop instance: %s\n", name) } fmt.Printf("Stopped instance: %s\n", name) return nil }