class VaultError(Exception):
    def __init__(self, message=None, errors=None):
        if errors:
            message = ', '.join(errors)

        self.errors = errors

        super(VaultError, self).__init__(message)

class InvalidRequest(VaultError):
    pass

class Unauthorized(VaultError):
    pass

class Forbidden(VaultError):
    pass

class InvalidPath(VaultError):
    pass

class RateLimitExceeded(VaultError):
    pass

class InternalServerError(VaultError):
    pass

class VaultDown(VaultError):
    pass

class UnexpectedError(VaultError):
    pass
