public OpenstackImage GetImage(OpenstackImage image, Identity identity) { //TODO: get the image from glance without listing all of them, using filtered request by name var image2 = ListImages().Where((x) => x.Name.Equals(image.Name)).ToList().FirstOrDefault(); return(GetImage(image2.Id)); }
public OpenstackImage GetImage(string imageId, Identity identity) { OpenstackImage image; RequestManager requestManager = new RequestManager(identity); var uri = string.Format("/v2/images/{0}", imageId); JObject response = requestManager.Get(uri, "glance"); var tempinstance = response; if (response != null) { image = new OpenstackImage() { Id = tempinstance["id"].ToString(), Name = tempinstance["name"].ToString(), Status = tempinstance["status"].ToString(), }; if (tempinstance["container_format"] != null) { image.ContainerFormat = tempinstance["container_format"].ToString(); } if (tempinstance["disk_format"] != null) { image.DiskFormat = tempinstance["disk_format"].ToString(); } return(image); } return(null); }
public void Delete(string imageId) { RequestManager requestManager = new RequestManager(_identity); var uri = string.Format("/v2/images/{0}", imageId); requestManager.Delete(uri, "glance"); ImageManager imageManager = new ImageManager(_identity); var deleteFinished = false; if (imageId != null) { while (!deleteFinished) { OpenstackImage image = imageManager.GetImage(imageId); if (image != null) { Thread.Sleep(10000); } else { deleteFinished = true; } } } }
public IList <OpenstackImage> ListImages(Identity identity) { IList <OpenstackImage> list = new List <OpenstackImage>(); RequestManager requestManager = new RequestManager(identity); var uri = "/images/detail"; JObject response = requestManager.Get(uri, "nova"); var tempinstances = response["images"]; foreach (var tempinstance in tempinstances) { var instance = new OpenstackImage() { Id = tempinstance["id"].ToString(), Name = tempinstance["name"].ToString(), Status = tempinstance["status"].ToString(), }; list.Add(instance); } return(list); }
public OpenstackImage UploadImage(FileInfo image, Func <decimal, bool> progressCallback) { RequestManager requestManager = new RequestManager(_identity); var uri = string.Format("/v1/images"); JObject result = requestManager.Upload(image, uri, "glance", progressCallback); var jImage = result["image"]; OpenstackImage returnedImage = new OpenstackImage() { CheckSum = jImage["checksum"].ToString(), ContainerFormat = jImage["container_format"].ToString(), DiskFormat = jImage["disk_format"].ToString(), Id = jImage["id"].ToString(), IsPublic = jImage["is_public"].ToString() == "true" ? true : false, Name = jImage["name"].ToString(), Size = long.Parse(jImage["size"].ToString()), Status = jImage["status"].ToString(), }; return(returnedImage); }
public void UploadImage() { string path = @"E:\AtlasVHDS\Snapshot-8e2f.ami"; FileInfo image = new FileInfo(path); Identity identity = new Identity() { AuthEndpoint = "http://192.168.1.149:5000/v2.0", Password = "******", TenantName = "admin", Username = "******", }; ImageManager imageManager = new ImageManager(identity); OpenstackImage img = new OpenstackImage() { Name = "Test" + Guid.NewGuid().ToString().Substring(0, 4), DiskFormat = image.Extension, Size = image.Length, }; OpenstackImage obj= imageManager.UploadImage(image); }
public OpenstackImage GetImage(string imageId, Identity identity) { OpenstackImage image; RequestManager requestManager = new RequestManager(identity); var uri = string.Format("/v2/images/{0}", imageId); JObject response = requestManager.Get(uri, "glance"); var tempinstance = response; if (response != null) { image = new OpenstackImage() { Id = tempinstance["id"].ToString(), Name = tempinstance["name"].ToString(), Status = tempinstance["status"].ToString(), }; if (tempinstance["container_format"] != null) image.ContainerFormat = tempinstance["container_format"].ToString(); if (tempinstance["disk_format"] != null) image.DiskFormat = tempinstance["disk_format"].ToString(); return image; } return null; }
public OpenstackImage UploadImage(FileInfo image, Func<decimal, bool> progressCallback) { RequestManager requestManager = new RequestManager(_identity); var uri = string.Format("/v1/images"); JObject result = requestManager.Upload(image, uri, "glance", progressCallback); var jImage = result["image"]; OpenstackImage returnedImage = new OpenstackImage() { CheckSum = jImage["checksum"].ToString(), ContainerFormat = jImage["container_format"].ToString(), DiskFormat = jImage["disk_format"].ToString(), Id = jImage["id"].ToString(), IsPublic = jImage["is_public"].ToString() == "true" ? true : false, Name = jImage["name"].ToString(), Size = long.Parse(jImage["size"].ToString()), Status = jImage["status"].ToString(), }; return returnedImage; }
public IList<OpenstackImage> ListImages(Identity identity) { IList<OpenstackImage> list = new List<OpenstackImage>(); RequestManager requestManager = new RequestManager(identity); var uri = "/images/detail"; JObject response = requestManager.Get(uri, "nova"); var tempinstances = response["images"]; foreach (var tempinstance in tempinstances) { var instance = new OpenstackImage() { Id = tempinstance["id"].ToString(), Name = tempinstance["name"].ToString(), Status = tempinstance["status"].ToString(), }; list.Add(instance); } return list; }
public OpenstackImage GetImage(OpenstackImage image, Identity identity) { //TODO: get the image from glance without listing all of them, using filtered request by name var image2 = ListImages().Where((x) => x.Name.Equals(image.Name)).ToList().FirstOrDefault(); return GetImage(image2.Id); }
public OpenstackImage GetImage(OpenstackImage imageId) { return GetImage(imageId, _identity); }
public OpenstackImage GetImage(OpenstackImage imageId) { return(GetImage(imageId, _identity)); }