func (app *ConoHaIso) eject(flags []cli.Flag) cli.Command { cmd := cli.Command{ Name: "eject", Usage: "Eject an ISO image from the VPS.", Flags: flags, After: app.afterAction, Action: func(c *cli.Context) { ident, err := app.auth(c) if err != nil { app.lastError = err return } var compute *command.Compute compute = command.NewCompute(ident) err = compute.Eject() if err != nil { app.lastError = err return } log.Info("ISO file was ejected.") }, } return cmd }
func (app *ConoHaIso) insert(flags []cli.Flag) cli.Command { cmd := cli.Command{ Name: "insert", Usage: "Insert an ISO images to the VPS.", Flags: flags, After: app.afterAction, Action: func(c *cli.Context) { ident, err := app.auth(c) if err != nil { app.lastError = err return } var compute *command.Compute compute = command.NewCompute(ident) err = compute.Insert() if err != nil { app.lastError = err return } log.Info("ISO file was inserted and changed boot device.") }, } return cmd }
func (app *ConoHaIso) list(flags []cli.Flag) cli.Command { cmd := cli.Command{ Name: "list", Usage: "List ISO Images.", Flags: flags, After: app.afterAction, Action: func(c *cli.Context) { ident, err := app.auth(c) if err != nil { app.lastError = err return } var compute *command.Compute compute = command.NewCompute(ident) isos, err := compute.List() if err != nil { app.lastError = err return } for i, iso := range isos.IsoImages { fmt.Printf("[Image%d]\n", i+1) fmt.Printf("%-6s %s\n", "Name:", iso.Name) fmt.Printf("%-6s %s\n", "Url:", iso.Url) fmt.Printf("%-6s %s\n", "Path:", iso.Path) fmt.Printf("%-6s %s\n", "Ctime:", iso.Ctime) fmt.Printf("%-6s %d\n", "Size:", iso.Size) if i != len(isos.IsoImages)-1 { println() } } if len(isos.IsoImages) == 0 { println("No ISO images.") } }, } return cmd }
func (app *ConoHaIso) download(flags []cli.Flag) cli.Command { flags = append(flags, cli.StringFlag{ Name: "url, i", Value: "", Usage: "ISO file url.", }) cmd := cli.Command{ Name: "download", Usage: "Download ISO file from the FTP/HTTP server.", Flags: flags, After: app.afterAction, Before: func(c *cli.Context) error { if c.String("url") == "" { return errors.New("ISO file url is required.") } return nil }, Action: func(c *cli.Context) { ident, err := app.auth(c) if err != nil { app.lastError = err return } var compute *command.Compute compute = command.NewCompute(ident) if err = compute.Download(c.String("url")); err != nil { app.lastError = err return } log.Info("Download request was accepted.") }, } return cmd }