'Return a Snapshot object from the JSON-response dictionary.
:param  snapshot: The dictionary describing the snapshot
:type   snapshot: ``dict``
:return:  Snapshot object
:rtype:   :class:`VolumeSnapshot`'

def _to_snapshot(self, snapshot):

    extra = {}
    extra['selfLink'] = snapshot.get('selfLink')
    extra['creationTimestamp'] = snapshot.get('creationTimestamp')
    extra['sourceDisk'] = snapshot.get('sourceDisk')
    if ('description' in snapshot):
        extra['description'] = snapshot['description']
    if ('sourceDiskId' in snapshot):
        extra['sourceDiskId'] = snapshot['sourceDiskId']
    if ('storageBytes' in snapshot):
        extra['storageBytes'] = snapshot['storageBytes']
    if ('storageBytesStatus' in snapshot):
        extra['storageBytesStatus'] = snapshot['storageBytesStatus']
    if ('licenses' in snapshot):
        lic_objs = self._licenses_from_urls(licenses=snapshot['licenses'])
        extra['licenses'] = lic_objs
    try:
        created = parse_date(snapshot.get('creationTimestamp'))
    except ValueError:
        created = None
    return GCESnapshot(id=snapshot['id'], name=snapshot['name'], size=snapshot['diskSizeGb'], status=snapshot.get('status'), driver=self, extra=extra, created=created)
