
    Zi                        d dl Z d dlZd dlZd dlmZ d Z G d de          Z G d de          Z G d d	e          Z	 G d
 de          Z
 G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d  d!e          Z G d" d#e          ZdS )$    N)ApiExceptionc                 d   t          j                    \  }}}d                    t          j        |                    }	 t          t          t          t          t          t          t          t          t          t          t          t           d                    | j        t&                    | |          S )z
    Returns the proper Exception class for the given kubernetes.client.rest.ApiException object
    https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#success-codes
    
)i  i  i  i  i  i  i  i  i  i  i  i  )sysexc_infojoin	traceback	format_tbBadRequestErrorUnauthorizedErrorForbiddenErrorNotFoundErrorMethodNotAllowedErrorConflictError	GoneErrorUnprocessibleEntityErrorTooManyRequestsErrorInternalServerErrorServiceUnavailableErrorServerTimeoutErrorgetstatusDynamicApiError)e_exc_tracebacktbs       X/root/projects/butler/venv/lib/python3.11/site-packages/kubernetes/dynamic/exceptions.pyapi_exceptionr      s    
 ,..Aq-	9&}55	6	6B%"%! $  
c!(O$$Q, , ,    c                   &    e Zd ZdZddZd Zd ZdS )r   z* Generic API Error for the dynamic client Nc                 t    |j         | _         |j        | _        |j        | _        |j        | _        || _        d S N)r   reasonbodyheadersoriginal_traceback)selfr   r   s      r   __init__zDynamicApiError.__init__/   s4    hhF	y"$r    c                    t          | j                  d                    | j                  g}| j        r-|                    d                    | j                             | j        r-|                    d                    | j                             | j        r-|                    d                    | j                             d                    |          S )Nz
Reason: {}zHTTP response headers: {}zHTTP response body: {}zOriginal traceback: 
{}r   )	strr   formatr$   r&   appendr%   r'   r   )r(   error_messages     r   __str__zDynamicApiError.__str__6   s    T[))<+>+>t{+K+KL< 	S  !<!C!CDL!Q!QRRR9 	M  !9!@!@!K!KLLL" 	]  !;!B!B4CZ![![\\\yy'''r    c                    | j         r\| j        rN| j                            d          dk    r0t          j        | j                                       d          }|r|S | j         S d                    | j        | j                  S )NzContent-Typezapplication/jsonmessagez{} Reason: {})r%   r&   r   jsonloadsr,   r   r$   )r(   r1   s     r   summaryzDynamicApiError.summaryC   s    9 	D| # 0 0 @ @DV V V*TY//33I>> #"N9"))$+t{CCCr    r#   )__name__
__module____qualname____doc__r)   r/   r4    r    r   r   r   -   sQ        44% % % %( ( (	D 	D 	D 	D 	Dr    r   c                       e Zd ZdZdS )ResourceNotFoundErrorz* Resource was not found in available APIs Nr5   r6   r7   r8   r9   r    r   r;   r;   N   s        4444r    r;   c                       e Zd ZdZdS )ResourceNotUniqueErrorz1 Parameters given matched multiple API resources Nr<   r9   r    r   r>   r>   P   s        ;;;;r    r>   c                       e Zd ZdZdS )KubernetesValidateMissingz& kubernetes-validate is not installed Nr<   r9   r    r   r@   r@   S   s        0000r    r@   c                       e Zd ZdZdS )r   z 400: StatusBadRequest Nr<   r9   r    r   r   r   W   s        !!!!r    r   c                       e Zd ZdZdS )r   z 401: StatusUnauthorized Nr<   r9   r    r   r   r   Y   s        ####r    r   c                       e Zd ZdZdS )r   z 403: StatusForbidden Nr<   r9   r    r   r   r   [   s            r    r   c                       e Zd ZdZdS )r   z 404: StatusNotFound Nr<   r9   r    r   r   r   ]           r    r   c                       e Zd ZdZdS )r   z 405: StatusMethodNotAllowed Nr<   r9   r    r   r   r   _   s        ''''r    r   c                       e Zd ZdZdS )r   z 409: StatusConflict Nr<   r9   r    r   r   r   a   rE   r    r   c                       e Zd ZdZdS )r   z 410: StatusGone Nr<   r9   r    r   r   r   c   s        r    r   c                       e Zd ZdZdS )r   z  422: StatusUnprocessibleEntity Nr<   r9   r    r   r   r   e   s        ****r    r   c                       e Zd ZdZdS )r   z 429: StatusTooManyRequests Nr<   r9   r    r   r   r   g   s        &&&&r    r   c                       e Zd ZdZdS )r   z 500: StatusInternalServer Nr<   r9   r    r   r   r   i   s        %%%%r    r   c                       e Zd ZdZdS )r   z 503: StatusServiceUnavailable Nr<   r9   r    r   r   r   k   s        ))))r    r   c                       e Zd ZdZdS )r   z 504: StatusServerTimeout Nr<   r9   r    r   r   r   m   s        $$$$r    r   )r2   r   r	   kubernetes.client.restr   r   r   	Exceptionr;   r>   r@   r   r   r   r   r   r   r   r   r   r   r   r   r9   r    r   <module>rP      s    



     / / / / / /, , ,.D D D D Dl D D DB5 5 5 5 5I 5 5 5< < < < <Y < < <1 1 1 1 1	 1 1 1" " " " "o " " "$ $ $ $ $ $ $ $! ! ! ! !_ ! ! !         O      ( ( ( ( (O ( ( (         O             + + + + + + + +' ' ' ' '? ' ' '& & & & &/ & & &* * * * *o * * *% % % % % % % % % %r    