def _get_image(self, context, image_id): """passes in context because objectstore does its own authorization""" result = images.list(context, [image_id]) if not result: raise exception.NotFound('Image %s could not be found' % image_id) image = result[0] return image
def describe_image_attribute(self, context, image_id, attribute, **kwargs): if attribute != 'launchPermission': raise exception.ApiError('attribute not supported: %s' % attribute) try: image = images.list(context, image_id)[0] except IndexError: raise exception.ApiError('invalid id: %s' % image_id) result = { 'image_id': image_id, 'launchPermission': [] } if image['isPublic']: result['launchPermission'].append({ 'group': 'all' }) return defer.succeed(result)
def describe_image_attribute(self, context, image_id, attribute, **kwargs): if attribute != 'launchPermission': raise exception.ApiError('attribute not supported: %s' % attribute) try: image = images.list(context, image_id)[0] except IndexError: raise exception.ApiError('invalid id: %s' % image_id) result = {'image_id': image_id, 'launchPermission': []} if image['isPublic']: result['launchPermission'].append({'group': 'all'}) return defer.succeed(result)
def describe_images(self, context, image_id=None, **kwargs): # The objectstore does its own authorization for describe imageSet = images.list(context, image_id) return defer.succeed({'imagesSet': imageSet})