HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /lib/python3/dist-packages/cloudinit/sources/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceHetzner.cpython-311.pyc
�

܍~c�����dZddlmcmcmZddlmZddlmZ	ddlm
Z
mZmZddlm
Z
ddlmZe	je��ZdZed	zed
zd�ZdZd
Zd
ZGd�dej��Zd�ZeejffgZd�ZdS)z>Hetzner Cloud API Documentation
   https://docs.hetzner.cloud/�N)�dmi)�log)�net�sources�util)�NoDHCPLeaseError)�EphemeralDHCPv4z!http://169.254.169.254/hetzner/v1z	/metadataz	/userdata)�metadata_url�userdata_url�<�c�:�eZdZdZd�Zd�Zd�Zed���ZdS)�DataSourceHetzner�Hetznerc�T�tj�||||��||_t	��|_t
jt
j|ddgi��tg��|_
|j
d|_|j
d|_|j
�
dt��|_|j
�
dt ��|_|j
�
dt$��|_tj|_tj|_dS)N�
datasourcerr
r�retries�timeout�
wait_retry)r�
DataSource�__init__�distro�dict�metadatar�
mergemanydict�get_cfg_by_path�BUILTIN_DS_CONFIG�ds_cfg�metadata_address�userdata_address�get�
MD_RETRIESr�
MD_TIMEOUTr�
MD_WAIT_RETRYr�UNSET�_network_config�DSMODE_NETWORK�dsmode)�self�sys_cfgr�pathss    �E/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceHetzner.pyrzDataSourceHetzner.__init__"s�����#�#�D�'�6�5�A�A�A��������
��(��$�W�|�Y�.G��L�L�!�
�
�
���!%��N� ;��� $��N� ;����{���y�*�=�=����{���y�*�=�=����+�/�/�,�
�F�F���&�}����,�����c�t�t��\}}|sdS	ttj��dtdzi|j������5tj|j	|j
|j|j���}tj
|j|j
|j|j���}ddd��n#1swxYwYn.#t$r!}t �d|���d}~wwxYwtj|��|_||_|d|jd<|d|jd	<|�d
d��|jd
<|�dd��|jd<|�dd��|_|���|krt3d
���dS)NF�urlz/metadata/instance-id)�iface�connectivity_url_data�tmp_dir)r�sec_betweenrzBailing, DHCP Exception: %szinstance-id�hostnamezlocal-hostname�network-configzpublic-keys�vendor_dataz6SMBIOS serial does not match instance ID from metadataT)�get_hcloud_datar	r�find_fallback_nic�BASE_URL_V1r�get_tmp_exec_path�	hc_helper�
read_metadatarrrr�
read_userdatar r�LOG�error�maybe_b64decode�userdata_raw�
metadata_fullrr!�vendordata_raw�get_instance_id�RuntimeError)r)�
on_hetzner�serial�md�ud�es      r,�	_get_datazDataSourceHetzner._get_data4s��.�0�0���V��	��5�	� ��+�-�-��;�)@�@�'���5�5�7�7����
�
��,��)� �L� $�� �L�	�����,��)� �L� $�� �L�	����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
���&!�	�	�	��I�I�3�Q�7�7�7������	����&�5�b�9�9������
(*�-�'8��
�m�$�*,�Z�.��
�&�'�*,�&�&�1A�4�*H�*H��
�&�'�')�v�v�m�T�'B�'B��
�m�$� �f�f�]�D�9�9������!�!�V�+�+��H���
��ts=�AC�AC�4C�C�C�C�C�
C7�C2�2C7c�P�tj|���d��S)N�system-serial-number)r�instance_id_matches_system_uuidrD)r)r*s  r,�check_instance_idz#DataSourceHetzner.check_instance_idms)���6�� � �"�"�$:�
�
�	
r-c��|j�6t�dtj��tj|_|jtjkr|jS|jd}|st
d���||_|jS)z�Configure the networking. This needs to be done each boot, since
        the IP information may have changed due to snapshot and/or
        migration.
        Nz5Found None as cached _network_config. Resetting to %sr5z'Unable to get meta-data from server....)r&r>�warningrr%r�	Exception)r)�_net_configs  r,�network_configz DataSourceHetzner.network_configrs�����'��K�K�G��
�
�
�
�$+�=�D� ���7�=�0�0��'�'��m�$4�5���	G��E�F�F�F�*����#�#r-N)	�__name__�
__module__�__qualname__�dsnamerrKrO�propertyrT�r-r,rrsb������
�F�-�-�-�$7�7�7�r
�
�
�
�$�$��X�$�$�$r-rc���tjd��}|dkrdStjd��}|rt�d|��nt	d���d|fS)Nzsystem-manufacturerr)FNrMz#Running on Hetzner Cloud: serial=%sz+Hetzner Cloud detected, but no serial foundT)r�
read_dmi_datar>�debugrE)�vendor_namerGs  r,r7r7�sn���#�$9�:�:�K��i����}�
�
�5�
6�
6�F�
�J��	�	�7��@�@�@�@��H�I�I�I��&�>�r-c�6�tj|t��S)N)r�list_from_depends�datasources)�dependss r,�get_datasource_listrc�s���$�W�k�:�:�:r-)�__doc__�!cloudinit.sources.helpers.hetznerr�helpers�hetznerr;�	cloudinitrr�loggingrr�cloudinit.net.dhcpr�cloudinit.net.ephemeralr	�	getLoggerrUr>r9rr"r#r$rrr7�DEP_FILESYSTEMrarcrZr-r,�<module>rnsW��"�"�6�5�5�5�5�5�5�5�5�5�5�5�������$�$�$�$�$�$�(�(�(�(�(�(�(�(�(�(�/�/�/�/�/�/�3�3�3�3�3�3��g���!�!��1�� �+�-��+�-����
�
�
�
��
�k$�k$�k$�k$�k$��*�k$�k$�k$�\��� ��/�1�2���;�;�;�;�;r-