diff options
Diffstat (limited to 'src/pybind/mgr/nfs/exception.py')
-rw-r--r-- | src/pybind/mgr/nfs/exception.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/pybind/mgr/nfs/exception.py b/src/pybind/mgr/nfs/exception.py new file mode 100644 index 000000000..6c6e3d9f3 --- /dev/null +++ b/src/pybind/mgr/nfs/exception.py @@ -0,0 +1,32 @@ +import errno +from typing import Optional + + +class NFSException(Exception): + def __init__(self, err_msg: str, errno: int = -1) -> None: + super(NFSException, self).__init__(errno, err_msg) + self.errno = errno + self.err_msg = err_msg + + def __str__(self) -> str: + return self.err_msg + + +class NFSInvalidOperation(NFSException): + def __init__(self, err_msg: str) -> None: + super(NFSInvalidOperation, self).__init__(err_msg, -errno.EINVAL) + + +class NFSObjectNotFound(NFSException): + def __init__(self, err_msg: str) -> None: + super(NFSObjectNotFound, self).__init__(err_msg, -errno.ENOENT) + + +class FSNotFound(NFSObjectNotFound): + def __init__(self, fs_name: Optional[str]) -> None: + super(FSNotFound, self).__init__(f'filesystem {fs_name} not found') + + +class ClusterNotFound(NFSObjectNotFound): + def __init__(self) -> None: + super(ClusterNotFound, self).__init__('cluster does not exist') |