'Checks to see if the Session Token is expired or not.  By default
it will check to see if the Session Token is expired as of the
moment the method is called.  However, you can supply an
optional parameter which is the number of seconds of offset
into the future for the check.  For example, if you supply
a value of 5, this method will return a True if the Session
Token will be expired 5 seconds from this moment.
:type time_offset_seconds: int
:param time_offset_seconds: The number of seconds into the future
to test the Session Token for expiration.'

def is_expired(self, time_offset_seconds=0):

    now = datetime.datetime.utcnow()
    if time_offset_seconds:
        now = (now + datetime.timedelta(seconds=time_offset_seconds))
    ts = boto.utils.parse_ts(self.expiration)
    delta = (ts - now)
    return (delta.total_seconds() <= 0)
