summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorDevin Carlen <devin.carlen@gmail.com>2011-02-12 18:33:49 -0800
committerDevin Carlen <devin.carlen@gmail.com>2011-02-12 18:33:49 -0800
commit6f6a09216458ffdba17d1960bbad723a3e71e7b2 (patch)
tree78e0be3d2c02043a12b85bcc1a4d19450adc0b2b /nova/api
parent40715cfde9f20ede97b696c3c3ebbbf67aaa8243 (diff)
First attempt to make all image services use similar schemas
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index 00d044e95..f1d3ecdd3 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -836,11 +836,25 @@ class CloudController(object):
self.compute_api.update(context, instance_id=instance_id, **kwargs)
return True
+ def _format_image(self, context, image):
+ i = {}
+ i['imageId'] = image.get('id')
+ i['kernelId'] = image.get('kernel_id')
+ i['ramdiskId'] = image.get('ramdisk_id')
+ i['imageLocation'] = image.get('image_location')
+ i['imageOwnerId'] = image.get('image_owner_id')
+ i['imageState'] = image.get('image_state')
+ i['type'] = image.get('type')
+ i['isPublic'] = image.get('is_public')
+ i['architecture'] = image.get('architecture')
+ return i
+
def describe_images(self, context, image_id=None, **kwargs):
- # Note: image_id is a list!
+ # NOTE: image_id is a list!
images = self.image_service.index(context)
if image_id:
images = filter(lambda x: x['imageId'] in image_id, images)
+ images = [self._format_image(context, i) for i in images]
return {'imagesSet': images}
def deregister_image(self, context, image_id, **kwargs):