Fix ListServers to yield full details.
Also, provide ListServersLinksOnly() if you want to retain the older
behavior. LinksOnly variant isn't terribly useful though, as it
provides virtually _no_ useful information other than the mere existence
of a server.
Fixes #45.
diff --git a/servers.go b/servers.go
index 30aa959..6cad056 100644
--- a/servers.go
+++ b/servers.go
@@ -23,7 +23,7 @@
}
// See the CloudServersProvider interface for details.
-func (gcp *genericServersProvider) ListServers() ([]Server, error) {
+func (gcp *genericServersProvider) ListServersLinksOnly() ([]Server, error) {
var ss []Server
url := gcp.endpoint + "/servers"
@@ -38,6 +38,23 @@
}
// See the CloudServersProvider interface for details.
+func (gcp *genericServersProvider) ListServers() ([]Server, error) {
+ var ss []Server
+
+ err := gcp.context.WithReauth(gcp.access, func() error {
+ url := gcp.endpoint + "/servers/detail"
+ return perigee.Get(url, perigee.Options{
+ CustomClient: gcp.context.httpClient,
+ Results: &struct{ Servers *[]Server }{&ss},
+ MoreHeaders: map[string]string{
+ "X-Auth-Token": gcp.access.AuthToken(),
+ },
+ })
+ })
+ return ss, err
+}
+
+// See the CloudServersProvider interface for details.
func (gsp *genericServersProvider) ServerById(id string) (*Server, error) {
var s *Server