'Update a private image
:param  image: The private image you are deleting.
:type   image: :class:`NodeImage`
:return:    Instance of class ``Image``
:rtype:     :class:`Image`'

def ex_update_image(self, image, name=None, description=None, licence_type=None, cpu_hot_plug=None, cpu_hot_unplug=None, ram_hot_plug=None, ram_hot_unplug=None, nic_hot_plug=None, nic_hot_unplug=None, disc_virtio_hot_plug=None, disc_virtio_hot_unplug=None, disc_scsi_hot_plug=None, disc_scsi_hot_unplug=None):

    action = image.extra['href']
    body = {}
    if (name is not None):
        body['name'] = name
    if (description is not None):
        body['description'] = description
    if (licence_type is not None):
        body['licence_type'] = licence_type
    if (cpu_hot_plug is not None):
        body['cpu_hot_plug'] = cpu_hot_plug
    if (cpu_hot_unplug is not None):
        body['cpu_hot_unplug'] = cpu_hot_unplug
    if (ram_hot_plug is not None):
        body['ram_hot_plug'] = ram_hot_plug
    if (ram_hot_unplug is not None):
        body['ram_hot_unplug'] = ram_hot_unplug
    if (nic_hot_plug is not None):
        body['nic_hot_plug'] = nic_hot_plug
    if (nic_hot_unplug is not None):
        body['nic_hot_unplug'] = nic_hot_unplug
    if (disc_virtio_hot_plug is not None):
        body['disc_virtio_hot_plug'] = disc_virtio_hot_plug
    if (disc_virtio_hot_unplug is not None):
        body['disc_virtio_hot_unplug'] = disc_virtio_hot_unplug
    if (disc_scsi_hot_plug is not None):
        body['disc_scsi_hot_plug'] = disc_scsi_hot_plug
    if (disc_scsi_hot_unplug is not None):
        body['disc_scsi_hot_unplug'] = disc_scsi_hot_unplug
    response = self.connection.request(action=action, headers={'Content-type': 'application/json'}, data=body, method='PATCH', with_full_url=True)
    return self._to_image(response.object, response.headers)
