o
    &ThA3                     @   s   d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZ ddlZddlmZmZ ddlmZ eeZG dd dejZG d	d
 d
eZdS )z
    Kubernetes

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)  # noqa: E501

    The version of the OpenAPI document: release-1.33
    Generated by: https://openapi-generator.tech
    )absolute_importN)	urlencode)ApiExceptionApiValueError)should_bypass_proxiesc                   @   s&   e Zd Zdd Zdd ZdddZdS )	RESTResponsec                 C   s"   || _ |j| _|j| _|j| _d S N)urllib3_responsestatusreasondata)selfresp r   W/home/air/segue/gemini/back/venv/lib/python3.10/site-packages/kubernetes/client/rest.py__init__$   s   zRESTResponse.__init__c                 C   s
   | j  S )z-Returns a dictionary of the response headers.)r	   
getheaders)r   r   r   r   r   *   s   
zRESTResponse.getheadersNc                 C   s   | j ||S )z Returns a given response header.)r	   	getheader)r   namedefaultr   r   r   r   .   s   zRESTResponse.getheaderr   )__name__
__module____qualname__r   r   r   r   r   r   r   r   "   s    r   c                   @   s   e Zd ZdddZ			dddZ		ddd	Z		dd
dZ		dddZ		dddZ		dddZ			dddZ
		dddZdS )RESTClientObject   Nc                 C   s   |j rtj}ntj}|jr|j}nt }i }|jd ur!|j|d< |jd ur+|j|d< |j	r3|j	|d< |d u rB|j
d ur@|j
}nd}|jrgt|j|jpLddsgtjd	|||||j|j|j|jd|| _d S tjd	|||||j|jd|| _d S )
Nassert_hostnameretriesserver_hostnamer    )no_proxy)	num_poolsmaxsize	cert_reqsca_certs	cert_filekey_file	proxy_urlproxy_headers)r    r!   r"   r#   r$   r%   r   )
verify_sslsslCERT_REQUIRED	CERT_NONEssl_ca_certcertifiwherer   r   tls_server_nameconnection_pool_maxsizeproxyr   hostr   urllib3ProxyManagerr$   r%   r'   pool_managerPoolManager)r   configuration
pools_sizer!   r"   r#   addition_pool_argsr   r   r   r   5   sP   





	zRESTClientObject.__init__Tc	              
   C   s|  |  }|dv s
J |r|rtd|pi }|pi }d}	|rHt|tjr&tfnttfr2tj|d}	nt|t	rHt
|dkrHtj|d |d d}	d	|vrPd
|d	< z|dv r|r_|dt| 7 }td|d	 tjso|d	 dkr|d	 dkr~t|ts~d|d	< d}
|durt|}
| jj|||
||	|d}nX|d	 dkr| jj|||d||	|d}nD|d	 dkr|d	= | jj|||d||	|d}n-t|tst|tr|}
| jj|||
||	|d}nd}td|d| jj|||||	|d}W n  tjjy } zdt|jt|}td|dd}~ww |r)t|}tjr"|jd|_t d|j d|j!  kr6dks<n t|d|S ) a  Perform requests.

        :param method: http request method
        :param url: http request url
        :param query_params: query parameters in the url
        :param headers: http request headers
        :param body: request json body, for `application/json`
        :param post_params: request post parameters,
                            `application/x-www-form-urlencoded`
                            and `multipart/form-data`
        :param _preload_content: if False, the urllib3.HTTPResponse object will
                                 be returned without reading/decoding response
                                 data. Default is True.
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        )GETHEADDELETEPOSTPUTPATCHOPTIONSz9body parameter cannot be used with post_params parameter.N)total   r      )connectreadzContent-Typezapplication/json)r=   r>   r?   r@   r<   ?jsonzapplication/apply-patch+yamlzapplication/json-patch+jsonz&application/strategic-merge-patch+json)bodypreload_contenttimeoutheadersz!application/x-www-form-urlencodedF)fieldsencode_multipartrI   rJ   rK   zmultipart/form-dataTzCannot prepare a request message for provided
                             arguments. Please check that your arguments match
                             declared content type.)r
   r   )rL   rI   rJ   rK   z{0}
{1}utf8zresponse body: %s   i+  )	http_resp)"upperr   
isinstancesixPY3intlongr3   Timeouttuplelenr   research
IGNORECASElistrG   dumpsr5   requeststrbytesr   
exceptionsSSLErrorformattyper   r   r   decodeloggerdebugr
   )r   methodurlquery_paramsrK   rH   post_params_preload_content_request_timeoutrJ   request_bodyrmsger   r   r   r_   q   s   





zRESTClientObject.requestc                 C      | j d|||||dS )Nr:   rK   rm   rn   rk   r_   r   rj   rK   rk   rm   rn   r   r   r   r:         zRESTClientObject.GETc                 C   rs   )Nr;   rt   ru   rv   r   r   r   r;      rw   zRESTClientObject.HEADc              
   C      | j d|||||||dS )Nr@   rK   rk   rl   rm   rn   rH   ru   r   rj   rK   rk   rl   rH   rm   rn   r   r   r   r@        zRESTClientObject.OPTIONSc              	   C   s   | j d||||||dS )Nr<   )rK   rk   rm   rn   rH   ru   )r   rj   rK   rk   rH   rm   rn   r   r   r   r<     s   zRESTClientObject.DELETEc              
   C   rx   )Nr=   ry   ru   rz   r   r   r   r=     r{   zRESTClientObject.POSTc              
   C   rx   )Nr>   ry   ru   rz   r   r   r   r>     r{   zRESTClientObject.PUTc              
   C   rx   )Nr?   ry   ru   rz   r   r   r   r?   )  r{   zRESTClientObject.PATCH)r   N)NNNNTN)NNTN)NNNTN)r   r   r   r   r_   r:   r;   r@   r<   r=   r>   r?   r   r   r   r   r   3   s8    
<
 




	



r   )__doc__
__future__r   iorG   loggingrZ   r)   r-   rS   six.moves.urllib.parser   r3   kubernetes.client.exceptionsr   r   requests.utilsr   	getLoggerr   rg   IOBaser   objectr   r   r   r   r   <module>   s    

