"""
SoftLayer.exceptions
~~~~~~~~~~~~~~~~~~~~
Exceptions used throughout the library
:license: MIT, see LICENSE for more details.
"""
# pylint: disable=C0103
[docs]class SoftLayerError(Exception):
"""The base SoftLayer error."""
[docs]class Unauthenticated(SoftLayerError):
"""Unauthenticated."""
[docs]class SoftLayerAPIError(SoftLayerError):
"""SoftLayerAPIError is an exception raised during API errors.
Provides faultCode and faultString properties.
"""
def __init__(self, fault_code, fault_string, *args):
SoftLayerError.__init__(self, fault_string, *args)
self.faultCode = fault_code
self.reason = self.faultString = fault_string
def __repr__(self):
return '<%s(%s): %s>' % (self.__class__.__name__,
self.faultCode,
self.faultString)
def __str__(self):
return '%s(%s): %s' % (self.__class__.__name__,
self.faultCode,
self.faultString)
[docs]class ParseError(SoftLayerAPIError):
"""Parse Error."""
[docs]class ServerError(SoftLayerAPIError):
"""Server Error."""
[docs]class ApplicationError(SoftLayerAPIError):
"""Application Error."""
[docs]class RemoteSystemError(SoftLayerAPIError):
"""System Error."""
[docs]class TransportError(SoftLayerAPIError):
"""Transport Error."""
# XMLRPC Errors
[docs]class UnsupportedEncoding(ParseError):
"""Encoding not supported."""
pass
[docs]class InvalidCharacter(ParseError):
"""There was an invalid character."""
pass
[docs]class SpecViolation(ServerError):
"""There was a spec violation."""
pass
[docs]class MethodNotFound(ServerError):
"""Method name not found."""
pass
[docs]class InvalidMethodParameters(ServerError):
"""Invalid method paramters."""
pass
[docs]class InternalError(ServerError):
"""Internal Server Error."""
pass