diff options
Diffstat (limited to 'cvprac/cvp_client_errors.py')
-rw-r--r-- | cvprac/cvp_client_errors.py | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/cvprac/cvp_client_errors.py b/cvprac/cvp_client_errors.py new file mode 100644 index 0000000..1fd832a --- /dev/null +++ b/cvprac/cvp_client_errors.py @@ -0,0 +1,68 @@ +# +# Copyright (c) 2017, Arista Networks, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# Neither the name of Arista Networks nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ARISTA NETWORKS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +''' CVP Restful API client exception classes +''' + +class CvpClientError(Exception): + ''' CVP Restful API client error + ''' + def __init__(self, msg): + Exception.__init__(self) + self.msg = msg + + def __str__(self): + return self.msg + +class CvpApiError(CvpClientError): + ''' Error encountered related to the CVP API request. + ''' + def __init__(self, msg): + CvpClientError.__init__(self, msg) + +class CvpLoginError(CvpClientError): + ''' Error encountered trying to login into CVP. + ''' + def __init__(self, msg): + CvpClientError.__init__(self, msg) + +class CvpRequestError(CvpClientError): + ''' CVP request not properly constructed. + ''' + def __init__(self, msg): + CvpClientError.__init__(self, msg) + +class CvpSessionLogOutError(CvpClientError): + ''' Current CVP session has been logged out. + ''' + def __init__(self, msg): + CvpClientError.__init__(self, msg) |