'VolumeSnapshot constructor.
:param      id: Snapshot ID.
:type       id: ``str``
:param      driver: The driver that represents a connection to the
provider
:type       driver: `NodeDriver`
:param      size: A snapshot size in GB.
:type       size: ``int``
:param      extra: Provider depends parameters for snapshot.
:type       extra: ``dict``
:param      created: A datetime object that represents when the
snapshot was created
:type       created: ``datetime.datetime``
:param      state: A string representing the state the snapshot is
in. See `libcloud.compute.types.StorageVolumeState`.
:type       state: ``str``
:param      name: A string representing the name of the snapshot
:type       name: ``str``'

def __init__(self, id, driver, size=None, extra=None, created=None, state=None, name=None):

    self.id = id
    self.driver = driver
    self.size = size
    self.extra = (extra or {})
    self.created = created
    self.state = state
    self.name = name
