blob: 3fda268c455d7a92b8420fb086cb50fa2fd73bd7 [file] [log] [blame]
Samuel A. Falvo II02f5e832013-07-10 13:52:27 -07001package main
2
3import (
4 "fmt"
5 "flag"
6 "github.com/rackspace/gophercloud"
Samuel A. Falvo II02f5e832013-07-10 13:52:27 -07007)
8
9var id = flag.String("i", "", "Server ID to get info on. Defaults to first server in your account if unspecified.")
10var rgn = flag.String("r", "DFW", "Datacenter region")
11var quiet = flag.Bool("quiet", false, "Run quietly, for acceptance testing. $? non-zero if issue.")
12
13func main() {
Samuel A. Falvo II02f5e832013-07-10 13:52:27 -070014 flag.Parse()
15
Samuel A. Falvo II41856d62013-07-29 15:48:22 -070016 withIdentity(func(auth gophercloud.AccessProvider) {
17 withServerApi(auth, func(servers gophercloud.CloudServersProvider) {
18 serverId := ""
19 if *id == "" {
20 ss, err := servers.ListServers()
21 if err != nil {
22 panic(err)
23 }
24 // We could just cheat and dump the server details from ss[0].
25 // But, that tests ListServers(), and not ServerById(). So, we
26 // elect not to cheat.
27 serverId = ss[0].Id
28 } else {
29 serverId = *id
30 }
Samuel A. Falvo II02f5e832013-07-10 13:52:27 -070031
Samuel A. Falvo II41856d62013-07-29 15:48:22 -070032 s, err := servers.ServerById(serverId)
33 if err != nil {
34 panic(err)
35 }
36
37 configs := []string {
38 "Access IPv4: %s\n",
39 "Access IPv6: %s\n",
40 " Created: %s\n",
41 " Flavor: %s\n",
42 " Host ID: %s\n",
43 " ID: %s\n",
44 " Image: %s\n",
45 " Name: %s\n",
46 " Progress: %s\n",
47 " Status: %s\n",
48 " Tenant ID: %s\n",
49 " Updated: %s\n",
50 " User ID: %s\n",
51 }
52
53 values := []string {
54 s.AccessIPv4,
55 s.AccessIPv6,
56 s.Created,
57 s.Flavor.Id,
58 s.HostId,
59 s.Id,
60 s.Image.Id,
61 s.Name,
62 fmt.Sprintf("%d", s.Progress),
63 s.Status,
64 s.TenantId,
65 s.Updated,
66 s.UserId,
67 }
68
69 if !*quiet {
70 fmt.Println("Server info:")
71 for i, _ := range configs {
72 fmt.Printf(configs[i], values[i])
73 }
74 }
75 })
Samuel A. Falvo II02f5e832013-07-10 13:52:27 -070076 })
Samuel A. Falvo II02f5e832013-07-10 13:52:27 -070077}