//we'll use for when we'll be creating the reference VM /// <summary> /// Gets available pre configured Azure templates. /// </summary> public List<VirtualMachineImageModel> GetAvailableTemplateImages(VmImageSourceEnum imageSource, List<string> preferredImageFamilies = null) { //TODO: use the imageSource to provide the list of images from the gallery or from the storage IEnumerable<VirtualMachineOSImageListResponse.VirtualMachineOSImage> images = _compute.VirtualMachineOSImages.List(); IEnumerable<VirtualMachineOSImageListResponse.VirtualMachineOSImage> userImages = images.Where(x => x.Category == "User"); var galleryImages = images.Where(x => x.Category != "User" && !(x.IsPremium ?? false)) .GroupBy(x => x.ImageFamily ?? x.Label) .Select(x => x.OrderByDescending(y => y.PublishedDate).First()); if (preferredImageFamilies != null && preferredImageFamilies.Any()) { galleryImages = galleryImages.Where(x => preferredImageFamilies.Contains(x.ImageFamily)); } List<VirtualMachineOSImageListResponse.VirtualMachineOSImage> selectedList; if (imageSource == VmImageSourceEnum.Storage) { selectedList = userImages.ToList(); } else if (imageSource == VmImageSourceEnum.Gallery) { selectedList = galleryImages.ToList(); } else { selectedList = userImages.Union(galleryImages).ToList(); } var result = selectedList.Select(image => new VirtualMachineImageModel(image)).ToList(); return result; }
public List<Models.VirtualMachineImageModel> GetAvailableTemplateImages(VmImageSourceEnum imageSource, List<string> preferredImageFamilies = null) { _logger.Info("Entering GetAvailableTemplateImages stub."); List<VirtualMachineImageModel> result = new List<VirtualMachineImageModel>(); VirtualMachineImageModel vmImage1 = new VirtualMachineImageModel(new VirtualMachineOSImageListResponse.VirtualMachineOSImage { Name = "VM_Image_1" }); VirtualMachineImageModel vmImage2 = new VirtualMachineImageModel(new VirtualMachineOSImageListResponse.VirtualMachineOSImage { Name = "VM_Image_2" }); result.Add(vmImage1); result.Add(vmImage2); _logger.Info("Exiting GetAvailableTemplateImages stub."); return result; }