'Update the data associated with this volume by querying EC2.
:type validate: bool
:param validate: By default, if EC2 returns no data about the
volume the update method returns quietly.  If
the validate param is True, however, it will
raise a ValueError exception if no data is
returned from EC2.'

def update(self, validate=False, dry_run=False):

    unfiltered_rs = self.connection.get_all_volumes([self.id], dry_run=dry_run)
    rs = [x for x in unfiltered_rs if (x.id == self.id)]
    if (len(rs) > 0):
        self._update(rs[0])
    elif validate:
        raise ValueError(('%s    is    not    a    valid    Volume    ID' % self.id))
    return self.status
