Source code for infrahouse_toolkit.exceptions
"""Top level exceptions.
The exception hierarchy repeats the structure of the infrahouse_toolkit package.
Each module in the package has its own exceptions.py module.
The module exceptions are inherited from the upper module exceptions.
"""
[docs]class IHException(Exception):
"""Generic InfraHouse exception"""
[docs]class IHRetriableError(IHException):
"""Operation failed, but can be retried."""
def __init__(self, returncode=None, cmd=None, output=None, stderr=None):
self.returncode = returncode
self.cmd = " ".join(cmd) if isinstance(cmd, list) else cmd
self.output = output
self.stderr = stderr
def __str__(self):
return f"Command '{self.cmd}' returned non-zero exit status {self.returncode}."