Current File : //usr/lib/python3/dist-packages/cloudinit/sources/azure/__pycache__/errors.cpython-312.pyc
�

 Nh��	��ddlZddlZddlZddlZddlmZmZddlmZddlm	Z	m
Z
mZmZm
Z
ddlmZddlZddlmZmZddlmZddlmZej2e�Z	d(d	eed
ededefd
�ZGd�de�ZGd�de�Z Gd�de�Z!Gd�de�Z"Gd�de�Z#Gd�de�Z$Gd�de�Z%Gd�de�Z&Gd�de�Z'Gd �d!e�Z(Gd"�d#e�Z)Gd$�d%e�Z*Gd&�d'e�Z+y))�N)�datetime�timezone)�StringIO)�Any�Dict�List�Optional�Tuple)�ElementTree)�subp�version)�identity)�UrlError�data�	delimiter�	quotechar�returnc���t�5}tj|||tj��j	|�|j�j
�cddd�S#1swYyxYw)zEncode report data with csv.)rr�quotingN)r�csv�writer�
QUOTE_MINIMAL�writerow�getvalue�rstrip)rrr�ios    �@/usr/lib/python3/dist-packages/cloudinit/sources/azure/errors.py�
encode_reportrs]��
��	&�r��
�
�����%�%�		
�
�(�4�.��{�{�}�#�#�%�	&�	&�	&�s�AA)�)A2c�Z�eZdZdd�dedeeeefddfd�Zdefd�Zde	fd�Z
defd	�Zy)
�ReportableErrorN)�supporting_data�reasonr!rc�>�dtj���|_d|_||_|r||_ni|_t
jtj�|_
	tj�|_
y#t$r}d|��|_
Yd}~yd}~wwxYw)NzCloud-Init/z%https://aka.ms/linuxprovisioningerrorzfailed to read vm id: )r
�version_string�agent�documentation_urlr"r!r�nowr�utc�	timestampr�query_vm_id�vm_id�	Exception)�selfr"r!�id_errors    r�__init__zReportableError.__init__(s���#�7�#9�#9�#;�"<�=��
�!H�������#2�D� �#%�D� �!���h�l�l�3���	?�!�-�-�/�D�J���	?�1�(��>�D�J�J��	?�s�%A?�?	B�
B�Bc�F�dd|j��d|j��g}||jj�D��cgc]\}}|�d|����c}}z
}|d|j��d|j
j
���d|j��gz
}t|�Scc}}w)Nzresult=errorzreason=zagent=�=zvm_id=z
timestamp=zdocumentation_url=)	r"r%r!�itemsr+r)�	isoformatr&r)r-r�k�vs    r�as_encoded_reportz!ReportableError.as_encoded_report>s���
��d�k�k�]�#��T�Z�Z�L�!�
��
	
��(<�(<�(B�(B�(D�E���1�A�3�a��s��E�E����T�Z�Z�L�!�����1�1�3�4�5� ��!7�!7� 8�9�
�	
���T�"�"��Fs�Bc���t|t�xrO|j|jk(xr4|j|jk(xr|j|jk(S)N)�
isinstancer r)r"r!)r-�others  r�__eq__zReportableError.__eq__OsV���u�o�.�
>����%�/�/�1�
>����u�|�|�+�
>��$�$��(=�(=�=�		
�c��|jj�d|j�d|j�d|j�d�S)Nz(reason=z, timestamp=z, supporting_data=�))�	__class__�__name__r"r)r!)r-s r�__repr__zReportableError.__repr__WsL���~�~�&�&�'�(��k�k�]�#����(�)�#�3�3�4�A�
7�	
r;)r?�
__module__�__qualname__�strr	rrr/r6�boolr:r@�r;rr r 'sZ��
59�	?��?�"�$�s�C�x�.�1�	?�

�?�,#�	�#�"
�t�
�
�#�
r;r c�(��eZdZdeddf�fd�Z�xZS)�$ReportableErrorDhcpInterfaceNotFound�durationrNc�B��t�|�d�||jd<y)Nzfailure to find DHCP interfacerH��superr/r!)r-rHr>s  �rr/z-ReportableErrorDhcpInterfaceNotFound.__init__as!���
���9�:�+3����Z�(r;)r?rArB�floatr/�
__classcell__�r>s@rrGrG`s���4��4�4�4�4r;rGc�2��eZdZdedeeddf�fd�Z�xZS)�ReportableErrorDhcpLeaserH�	interfacerNc�`��t�|�d�||jd<||jd<y)Nzfailure to obtain DHCP leaserHrQrJ)r-rHrQr>s   �rr/z!ReportableErrorDhcpLease.__init__hs1���
���7�8�+3����Z�(�,5����[�)r;)r?rArBrLr	rCr/rMrNs@rrPrPgs&���6��6�8�C�=�6�T�6�6r;rPc�j��eZdZdeedeedeedeeeeefdeeefddf�fd�Z	�xZ
S)	�(ReportableErrorDhcpOnNonPrimaryInterfacerQ�driver�router�
static_routes�leaserNc���t�|�d�||jd<||jd<||jd<||jd<||jd<y)Nz&failure to find primary DHCP interfacerQrUrVrWrXrJ)r-rQrUrVrWrXr>s      �rr/z1ReportableErrorDhcpOnNonPrimaryInterface.__init__psc���	���A�B�,5����[�)�)/����X�&�)/����X�&�0=����_�-�(-����W�%r;)r?rArBr	rCrr
rrr/rMrNs@rrTrToso���.��C�=�.���
�	.�
��
�.� ��U�3��8�_� 5�6�
.��C��H�~�.�
�.�.r;rTc�,��eZdZdededdf�fd�Z�xZS)�ReportableErrorImdsUrlError�	exceptionrHrNc���t|jtj�rd}nmt|jtj�rd}nFt|jtj
�rd}n|jrd|j�d�}nd}t�|�!|�|jr|j|jd<||jd<t|�|jd	<|j|jd
<y)Nz connection timeout querying IMDSzconnection error querying IMDSzread timeout querying IMDSzhttp error z querying IMDSzunexpected error querying IMDS�	http_coderHr\�url)r8�cause�requests�ConnectTimeout�ConnectionError�ReadTimeout�coderKr/r!�reprr_)r-r\rHr"r>s    �rr/z$ReportableErrorImdsUrlError.__init__�s�����i�o�o�x�'>�'>�?�7�F�
�	����)A�)A�
B�5�F�
�	����)=�)=�
>�1�F�
�^�^�"�9�>�>�"2�.�A�F�5�F�
���� ��>�>�09���D� � ��-�+3����Z�(�,0��O����[�)�&/�m�m����U�#r;)r?rArBrrLr/rMrNs@rr[r[�s"���4�X�4��4�4�4�4r;r[c�,��eZdZdededdf�fd�Z�xZS)�"ReportableErrorImdsInvalidMetadata�key�valuerNc�x��t�|�d|���||jd<t|�|jd<y)Nzinvalid IMDS metadata for key=rirj)rKr/r!rf)r-rirjr>s   �rr/z+ReportableErrorImdsInvalidMetadata.__init__�s<���
���9�#��?�@�&)����U�#�(,�U�����W�%r;)r?rArBrCrr/rMrNs@rrhrh�s"���4�s�4�3�4�4�4�4r;rhc�(��eZdZdeddf�fd�Z�xZS)�+ReportableErrorImdsMetadataParsingExceptionr\rNc�T��t�|�d�t|�|jd<y)Nzerror parsing IMDS metadatar\)rKr/rfr!�r-r\r>s  �rr/z4ReportableErrorImdsMetadataParsingException.__init__�s%���
���6�7�,0��O����[�)r;)r?rArB�
ValueErrorr/rMrNs@rrmrm�s���<�Z�<�D�<�<r;rmc� ��eZdZd�fd�Z�xZS)�ReportableErrorOsDiskPpsFailurec�$��t�|�d�y)Nzerror waiting for host shutdown�rKr/�r-r>s �rr/z(ReportableErrorOsDiskPpsFailure.__init__�s���
���:�;r;�rN�r?rArBr/rMrNs@rrrrr�s
���<�<r;rrc�(��eZdZdeddf�fd�Z�xZS)�!ReportableErrorOvfInvalidMetadata�messagerNc�*��t�|�d|���y)Nz)unexpected metadata parsing ovf-env.xml: rt)r-rzr>s  �rr/z*ReportableErrorOvfInvalidMetadata.__init__�s���
���D�W�I�N�Or;)r?rArBrCr/rMrNs@rryry�s���P��P��P�Pr;ryc�<��eZdZdejddf�fd�Z�xZS)�"ReportableErrorOvfParsingExceptionr\rNc�B��|j}t�|�	d|���y)Nzerror parsing ovf-env.xml: )�msgrKr/)r-r\rzr>s   �rr/z+ReportableErrorOvfParsingException.__init__�s!����-�-��
���6�w�i�@�Ar;)r?rArB�ET�
ParseErrorr/rMrNs@rr}r}�s#���B�R�]�]�B�t�B�Br;r}c�(��eZdZdeddf�fd�Z�xZS)�!ReportableErrorUnhandledExceptionr\rNc�J��t�|�d�djtjt|�||j��}tj|jd��jd�}t|�|jd<||jd<y)Nzunhandled exception�zutf-8r\�traceback_base64)
rKr/�join�	traceback�format_exception�type�
__traceback__�base64�	b64encode�encode�decoderfr!)r-r\�trace�trace_base64r>s    �rr/z*ReportableErrorUnhandledException.__init__�s����
���.�/�����&�&��Y���I�,C�,C�
�
��
�'�'����W�(=�>�E�E�g�N��,0��O����[�)�3?����/�0r;)r?rArBr,r/rMrNs@rr�r��s���@�)�@��@�@r;r�c� ��eZdZd�fd�Z�xZS)�!ReportableErrorProxyAgentNotFoundc�$��t�|�d�y)Nzazure-proxy-agent not foundrtrus �rr/z*ReportableErrorProxyAgentNotFound.__init__�s���
���6�7r;rvrwrNs@rr�r��s
���8�8r;r�c�<��eZdZdejddf�fd�Z�xZS)�&ReportableErrorProxyAgentStatusFailurer\rNc���t�|�d�|j|jd<|j|jd<|j
|jd<y)Nz azure-proxy-agent status failure�	exit_code�stdout�stderr)rKr/r�r!r�r�ros  �rr/z/ReportableErrorProxyAgentStatusFailure.__init__�sS���
���;�<�,5�,?�,?����[�)�)2�)9�)9����X�&�)2�)9�)9����X�&r;)r?rArBr�ProcessExecutionErrorr/rMrNs@rr�r��s!���:�$�"<�"<�:��:�:r;r�)�|�'),r�r�loggingr�rrrr�typingrrrr	r
�	xml.etreerr�ra�	cloudinitrr
�cloudinit.sources.azurer�cloudinit.url_helperr�	getLoggerr?�LOGrCrr,r rGrPrTr[rhrmrrryr}r�r�r�rEr;r�<module>r�s��
�
���'��3�3�'��#�,�)��g����!��=@�
&�
�s�)�
&� #�
&�69�
&��
&� 6
�i�6
�r4�?�4�6��6�.��.�&4�/�4�04��4�<�/�<�<�o�<�
P��P�
B��B�@��@�8��8�
:�_�:r;