blob: 211a5ed280fb2a848b269b83c4eb4d955938dd4c [file] [log] [blame]
Samuel A. Falvo II0a6e45a2013-07-11 17:00:41 -07001package main
2
3import (
4 "fmt"
5 "flag"
6 "github.com/rackspace/gophercloud"
7)
8
9var quiet = flag.Bool("quiet", false, "Quiet mode for acceptance testing. $? non-zero on error though.")
10var rgn = flag.String("r", "DFW", "Datacenter region to interrogate.")
11
12func main() {
13 provider, username, password := getCredentials()
14 flag.Parse()
15
16 auth, err := gophercloud.Authenticate(
17 provider,
18 gophercloud.AuthOptions{
19 Username: username,
20 Password: password,
21 },
22 )
23 if err != nil {
24 panic(err)
25 }
26
27 servers, err := gophercloud.ServersApi(auth, gophercloud.ApiCriteria{
28 Name: "cloudServersOpenStack",
29 Region: *rgn,
30 VersionId: "2",
31 UrlChoice: gophercloud.PublicURL,
32 })
33 if err != nil {
34 panic(err)
35 }
36
37 images, err := servers.ListImages()
38 if err != nil {
39 panic(err)
40 }
41
42 if !*quiet {
43 fmt.Println("ID,Name,MinRam,MinDisk")
44 for _, image := range images {
45 fmt.Printf("%s,\"%s\",%d,%d\n", image.Id, image.Name, image.MinRam, image.MinRam)
46 }
47 }
48}