'Get device path for the EBS volume corresponding to the given
block device.
:param unicode blockdevice_id: EBS UUID for the volume to look up.
:returns: A ``FilePath`` for the device.
:raises UnknownVolume: If the supplied ``blockdevice_id`` does not
exist.
:raises UnattachedVolume: If the supplied ``blockdevice_id`` is
not attached to a host.'

def get_device_path(self, blockdevice_id):

    ebs_volume = self._get_ebs_volume(blockdevice_id)
    volume = _blockdevicevolume_from_ebs_volume(ebs_volume)
    if (not volume.attached_to):
        raise UnattachedVolume(blockdevice_id)
    compute_instance_id = self.compute_instance_id()
    if (volume.attached_to != compute_instance_id):
        raise Exception('Volume    is    attached    to    {},    not    to    {}'.format(volume.attached_to, compute_instance_id))
    return _expected_device(ebs_volume.attachments[0]['Device'])
