github.com/Cloud-Foundations/Dominator@v0.3.4/cmd/hyper-control/listVolumeDirectories.go (about) 1 package main 2 3 import ( 4 "fmt" 5 6 hyperclient "github.com/Cloud-Foundations/Dominator/hypervisor/client" 7 "github.com/Cloud-Foundations/Dominator/lib/errors" 8 "github.com/Cloud-Foundations/Dominator/lib/log" 9 "github.com/Cloud-Foundations/Dominator/lib/srpc" 10 ) 11 12 func listVolumeDirectoriesSubcommand(args []string, 13 logger log.DebugLogger) error { 14 if err := listVolumeDirectories(logger); err != nil { 15 return fmt.Errorf("error getting volume directories: %s", err) 16 } 17 return nil 18 } 19 20 func listVolumeDirectories(logger log.DebugLogger) error { 21 if *hypervisorHostname == "" { 22 return errors.New("hypervisorHostname no specified") 23 } 24 clientName := fmt.Sprintf("%s:%d", *hypervisorHostname, *hypervisorPortNum) 25 client, err := srpc.DialHTTP("tcp", clientName, 0) 26 if err != nil { 27 return err 28 } 29 defer client.Close() 30 volumeDirectories, err := hyperclient.ListVolumeDirectories(client, false) 31 if err != nil { 32 return err 33 } 34 for _, volumeDirectory := range volumeDirectories { 35 fmt.Println(volumeDirectory) 36 } 37 return nil 38 }