+ return "<{}> Not found: {}".format(type(self), super().__str__())
+
+
+class N2VCApplicationExists(N2VCException):
+ """
+ Application Exists
+ """
+
+ def __init__(self, message: str = ""):
+ N2VCException.__init__(self, message=message)
+
+ def __str__(self):
+ return "<{}> Application Exists: {}".format(type(self), super().__str__())
+
+
+class JujuError(N2VCException):
+ """
+ Juju Error
+ """
+
+ def __init__(self, message: str = ""):
+ N2VCException.__init__(self, message=message)
+
+ def __str__(self):
+ return "<{}> Juju Error: {}".format(type(self), super().__str__())
+
+
+class K8sException(Exception):
+ """
+ K8s exception
+ """
+
+ def __init__(self, message: str):
+ Exception.__init__(self, message)
+ self._message = message
+
+ def __str__(self):
+ return self._message
+
+ def __repr__(self):
+ return self._message
+
+
+class EntityInvalidException(Exception):
+ """Entity is not valid, the type does not match any EntityType."""
+
+
+class JujuInvalidK8sConfiguration(N2VCException):
+ """Invalid K8s configuration."""
+
+
+class JujuCharmNotFound(N2VCException):
+ """The Charm can't be found or is not readable."""
+
+
+class JujuControllerFailedConnecting(N2VCException):
+ """Failed connecting to juju controller."""
+
+
+class JujuModelAlreadyExists(N2VCException):
+ """The model already exists."""
+
+
+class JujuApplicationExists(N2VCException):
+ """The Application already exists."""
+
+
+class JujuApplicationNotFound(N2VCException):
+ """The Application cannot be found."""
+
+
+class JujuLeaderUnitNotFound(N2VCException):
+ """The Application cannot be found."""
+
+
+class JujuActionNotFound(N2VCException):
+ """The Action cannot be found."""
+
+
+class JujuMachineNotFound(N2VCException):
+ """The machine cannot be found."""
+
+
+class JujuK8sProxycharmNotSupported(N2VCException):
+ """K8s Proxy Charms not supported in this installation."""
+
+
+class N2VCPrimitiveExecutionFailed(N2VCException):
+ """Something failed while attempting to execute a primitive."""
+
+
+class NetworkServiceDoesNotExist(N2VCException):
+ """The Network Service being acted against does not exist."""
+
+
+class PrimitiveDoesNotExist(N2VCException):
+ """The Primitive being executed does not exist."""
+
+
+class NoRouteToHost(N2VCException):
+ """There was no route to the specified host."""
+
+
+class AuthenticationFailed(N2VCException):
+ """The authentication for the specified user failed."""
+
+
+class MethodNotImplemented(N2VCException):
+ """The method is not implemented."""