class InvalidBulkRestoreSession(Exception):
    """Raise when we attempt to download a file, but the server complains the restore session is invalid"""

    def __init__(self, message, *args):
        self.message = message  # without this you may get DeprecationWarning
        super(InvalidBulkRestoreSession, self).__init__(message, *args)


class ArchiveInMaintenance(ValueError):
    """Raise when we attempt to restore a file, but the server tells the archive is undergoing maintenance."""

    def __init__(self, message, archive_id: str, *args):
        self.message = message  # without this you may get DeprecationWarning
        # Special attribute you desire with your Error,
        # perhaps the value that caused the error?:
        self.archive_id = archive_id
        # allow users initialize misc. arguments as any other builtin Error
        super(ArchiveInMaintenance, self).__init__(message, archive_id, *args)
