public async Task <OpenStackImageListResponse> GetImages(string endPointUrl, string tenantId, string userName, string token)
        {
            this.computeUrl = endPointUrl;
            this.tenantId   = tenantId;
            this.Username   = userName;
            this.token.id   = token;
            OpenStackImageListResponse resp = new OpenStackImageListResponse();

            resp = await OpenStackListImages(endPointUrl, tenantId, userName, token);

            this.images = resp.images;
            return(resp);
        }
        private async Task <OpenStackImageListResponse> OpenStackListImages(string uri = null, string tenantId = null, string username = null, string tokenId = null)
        {
            OpenStackImageListResponse images = new OpenStackImageListResponse();

            using (var clientImages = new HttpClient())
            {
                clientImages.BaseAddress = new Uri(uri);
                clientImages.DefaultRequestHeaders.Accept.Clear();
                clientImages.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                //add token to header
                clientImages.DefaultRequestHeaders.Add("X-Auth-Token", tokenId);

                HttpResponseMessage response = await clientImages.GetAsync(tenantId + "/images");

                if (response.IsSuccessStatusCode)
                {
                    images = response.Content.ReadAsAsync <OpenStackImageListResponse>().Result;
                }
            }

            return(images);
        }