//this quite an expensive operation (3M of data retrieved) - so I added caching support
public static List<Image> getImagesList(this API_AmazonEC2 amazonEC2, AmazonEC2Client ec2Client)
{
if (amazonEC2.CachedImageListRequest.fileExists())
return amazonEC2.CachedImageListRequest.load<List<Amazon.EC2.Model.Image>>();
var describeImagesRequest = new DescribeImagesRequest();
"Retrieving ImagesList from Amazon..".info();
var images = ec2Client.DescribeImages(describeImagesRequest)
.DescribeImagesResult.Image;
if (images.isNull() || images.size()==0)
{
"in getImagesList, there was an error retrieving list (are we online?)".error();
}
else
{
amazonEC2.CachedImageListRequest = images.save();
"The Image List was saved to : {0}".info(amazonEC2.CachedImageListRequest);
}
return images;
}