public RackSpaceCloudServerImage GetImageDetails(int imageId)
        {
            var request = new RackSpaceCloudRequest(this._authInfo.ServerManagementUrl, this._authInfo.AuthToken);

            var image = request.GetRequest("/images/" + imageId.ToString());

            var result = ExpandoToRackSpaceCloudImageObject(image.image);

            return result;
        }
        public RackSpaceCloudServer GetServerDetails(string serverId)
        {
            var request = new RackSpaceCloudRequest(this._authInfo.ServerManagementUrl, this._authInfo.AuthToken);

            var serverDetails = request.GetRequest(String.Format("/servers/{0}",serverId));

            var server = ExpandoToRackSpaceCloudServerObject(serverDetails.server);

            return server;
        }
        public List<RackSpaceCloudServerImage> ListImages(bool details)
        {
            List<RackSpaceCloudServerImage> listImages = new List<RackSpaceCloudServerImage>();

            var request = new RackSpaceCloudRequest(this._authInfo.ServerManagementUrl, this._authInfo.AuthToken);

            if (!details)
            {
                var images = request.GetRequest("/images");

                foreach (var image in images.images)
                {
                    listImages.Add(new RackSpaceCloudServerImage { id = image.id, name = image.name });
                }
            }
            else
            {
                var images = request.GetRequest("/images/detail");

                foreach (var image in images.images)
                {

                    listImages.Add(ExpandoToRackSpaceCloudImageObject(image));
                }
            }

            return listImages;
        }
        public List<RackSpaceCloudServer> ListServers(bool details = false)
        {
            List<RackSpaceCloudServer> result = new List<RackSpaceCloudServer>();

            var request = new RackSpaceCloudRequest(this._authInfo.ServerManagementUrl, this._authInfo.AuthToken);

            dynamic serverList;

            if (details)
            {
                serverList = request.GetRequest("/servers/detail");
            }
            else
            {
                serverList = request.GetRequest("/servers");
            }

            foreach (var server in serverList.servers)
            {
                if (details)
                {
                    result.Add(ExpandoToRackSpaceCloudServerObject(server));
                }
                else
                {
                    result.Add(new RackSpaceCloudServer { id = server.id, name = server.name });
                }
            }

            return result;
        }