예제 #1
0
파일: iso_image.py 프로젝트: cloudcache/cc1
def edit(caller_id, iso_image_id, name, description, disk_controller):
    """
    Sets Image's new attributes. Those should be get by src.cm.manager.image.get_by_id().
    @cmview_admin_cm

    @parameter{system_image_id,string} new Image name
    @parameter{name,string} new Image name
    @parameter{description,string} new Image description
    @parameter{disk_controller} new Image controller optional
    @parameter{video_device} new video device optional
    @parameter{network_device} new network device optional
    @parameter{platform} optional
    """

    image = IsoImage.admin_get(iso_image_id)

    if image.state != image_states['ok']:
        raise CMException('image_edit')

    image.name = name
    image.description = description
    image.disk_controller = disk_controller

    try:
        image.save()
    except:
        raise CMException('image_edit')
예제 #2
0
def get_by_id(caller_id, iso_image_id):
    """
    @cmview_admin_cm
    @param_post{iso_image_id,int} id of the IsoImage to get

    @response{dict} IsoImage.dict property for requested IsoImage
    """
    return IsoImage.admin_get(iso_image_id).dict
예제 #3
0
파일: iso_image.py 프로젝트: cloudcache/cc1
def get_by_id(caller_id, iso_image_id):
    """
    @cmview_admin_cm

    @parameter{image_id,int} id of the Image to get
    @parameter{type,image_types} type of image, automatically set, type is in the URL requested

    @response{dict} extended information about specified Image
    """
    return IsoImage.admin_get(iso_image_id).dict
예제 #4
0
파일: iso_image.py 프로젝트: cloudcache/cc1
def delete(caller_id, iso_image_id):
    """
    Deletes given Image
    @cmview_admin_cm

    @parameter{system_image_id} id of the Image to delete
    @parameter{type,image_types} type of image, automatically set, type is in the URL requested
    """
    image = IsoImage.admin_get(iso_image_id)

    image.check_attached()
    image.state = image_states['locked']
    image.save()
예제 #5
0
def delete(caller_id, iso_image_id):
    """
    Sets IsoImage state to 'locked'.

    @cmview_admin_cm
    @param_post{iso_image_id} id of the IsoImage to delete

    @todo Should delete IsoImage and set its state to 'deleted'.
    """
    image = IsoImage.admin_get(iso_image_id)

    image.check_attached()
    image.state = image_states['locked']
    image.save()
예제 #6
0
def copy(caller_id, src_image_id, dest_user_id):
    """
    Copies selected IsoImage to User's IsoImages pool.

    @cmview_admin_cm
    @param_post{src_image_id,int}
    @param_post{dest_user_id,int}
    """
    src_image = IsoImage.admin_get(src_image_id)
    dest_user = User.get(dest_user_id)
    dest_image = IsoImage.create(name=src_image.name, description=src_image.description, user=dest_user,
                                    disk_controller=src_image.disk_controller, disk_dev=src_image.disk_dev)

    try:
        dest_image.save()
    except Exception, e:
        log.error(caller_id, "Unable to commit: %s" % str(e))
        raise CMException('image_create')
예제 #7
0
def edit(caller_id, iso_image_id, name, description, disk_controller):
    """
    Updates specified IsoImage's attributes.

    @cmview_admin_cm
    @param_post{iso_image_id,string} new IsoImage name
    @param_post{name,string} new IsoImage name
    @param_post{description,string} new IsoImage description
    @param_post{disk_controller} new IsoImage controller optional
    """

    image = IsoImage.admin_get(iso_image_id)

    if image.state != image_states['ok']:
        raise CMException('image_edit')

    image.name = name
    image.description = description
    image.disk_controller = disk_controller

    try:
        image.save()
    except:
        raise CMException('image_edit')