'Create a snapshot of the provided Volume.
:param  volume: A StorageVolume object
:type   volume: :class:`StorageVolume`
:return:  A GCE Snapshot object
:rtype:   :class:`GCESnapshot`'

def create_volume_snapshot(self, volume, name):

    snapshot_data = {}
    snapshot_data['name'] = name
    request = ('/zones/%s/disks/%s/createSnapshot' % (volume.extra['zone'].name, volume.name))
    self.connection.async_request(request, method='POST', data=snapshot_data)
    return self.ex_get_snapshot(name)
