HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/cloudinit/sources/helpers/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/cloudinit/sources/helpers/__pycache__/vultr.cpython-312.pyc
�

�f����ddlZddlZddlmZddlmZddlmZmZm	Z	m
Z
mZddlm
Z
ddlmZej e�Ze�	dd��Zd�Zd	�Zd
�Zd�Zd�Zd
�Ze�d��Zd�Zd�Zdd�Zd�Zd�Zd�Z y)�N)�	lru_cache)�
exceptions)�dmi�net�subp�
url_helper�util)�NoDHCPLeaseError)�EphemeralDHCPv4c	��td�}t�D]O}	t||d|i��5t|||||�}	t	j
|	�}
t
|
�|
cddd�cS|�#1swYnxYw�a#ttjttjf$r"}tjd|�|}Yd}~��d}~wwxYw)NzFailed to DHCP�url)�iface�connectivity_url_datazDHCP Exception: %s)�RuntimeError�get_interface_listr�
read_metadata�json�loads�refactor_metadatar
r�ProcessExecutionErrorr�RequestException�LOG�error)�distror
�timeout�retries�sec_between�agent�tmp_dir�	exceptionr�v1�metadata�excs            �A/usr/lib/python3/dist-packages/cloudinit/sources/helpers/vultr.py�get_metadatar%s���
�-�.�I�$�%���	� ���',�c�l��

 �#�3���+�u�M���:�:�b�>��!�(�+��

 �

 ��*�O�'

 �

 ��

 ��
��&�&���'�'�	
�	�
�I�I�*�C�0��I��	�s.�A7�1A*�	A7�*A3	�/A7�7-C�$C�Cc�x�|d|d<|d|d<|dd}d|dvr|dd}|j�|d<y)Nzinstance-v2-idzinstance-id�hostnamezlocal-hostname�region�
regioncode�countrycode)�lower)r"r(s  r$rr4s]��&�'7�8�H�]��!)�*�!5�H�
��
�h�
��
-�F����*�*��(�#�M�2������H�X��c�h�g}tj�D]}d|vr�|j|��|S)N�dummy)r�find_candidate_nics�append)�ifacesrs  r$rr>s=��
�F��(�(�*����e����
�
�e��	��Mr,c�X�tjd�tjd�d�S)Nzsystem-manufacturerzsystem-serial-number)�manufacturer�subid)r�
read_dmi_data�r,r$�get_sysinfor7Js*���)�)�*?�@��"�"�#9�:��r,c�&�t�ddk7ryy)Nr3�VultrTF)r7r6r,r$�is_baremetalr:Rs���}�^�$��/��r,c�t�t�}|ddk(rydtj�j�vryy)Nr3r9T�vultrF)r7r	�get_cmdline�split)�sysinfos r$�is_vultrr@Ys;���m�G��~��'�)���$�"�"�$�*�*�,�,��r,c���d|z}d|d�}tj|||||��}|j�std|z|j��|j
j
�S)Nz
%s/v1.json�	cloudinit)zMetadata-Tokenz
User-Agent)rr�headersrz!Failed to connect to %s: Code: %s)r�readurl�okr�code�contents�decode)r
rrrrrC�responses       r$rrhst��
��
�C�"-�E�B�G��!�!�������H��;�;�=��/�#�5�x�}�}�
�	
����#�#�%�%r,c�*�tj�S�N)r�get_interfaces_by_macr6r,r$�get_interface_maprM�s���$�$�&�&r,c�B�t�}||vry|j|�SrK)rM�get)�mac�macs_to_nics  r$�get_interface_namerR�s$��#�%�K�
�+����?�?�3��r,c� �ddddgd�gd�}t|�dkDr$t|dd�	�}|d
j|�tdt|��D]8}||}|j	d�r�t|�}|d
j|��:|S)N��
nameserverz108.61.10.10z2001:19f0:300:1704::6)�type�address)�version�configrT)�primaryrY�unconfigured)�len�generate_interfacer0�rangerO)�
interfaces�network�public�i�	interface�privates      r$�generate_network_configre�s����%�*�,C�D�
�
��G��:����#�J�q�M�4�@����� � ��(��1�c�*�o�
&�*���q�M�	��=�=��(��$�Y�/����� � ��)�*��Nr,c���t|d�}|std|dz��|d|dd�}|rd|d<ddd	�d
dd	�g|d<|sdd|d
d|d
dd�g|d<t||�t||�|S)NrP�.Interface: %s could not be found on the system�physical)�namerV�mac_addressrT�	accept-ra�dhcp�auto)rV�control�
ipv6_slaac�subnets�static�ipv4rW�netmask�rVrnrWrs)rRr�generate_interface_routes�'generate_interface_additional_addresses)rcrZ�interface_name�netcfgs    r$r]r]�s���'�	�%�(8�9�N���<�y��?O�O�
�	
�
�� ��'��F����{����/�!�f�5�
��y��
�!�!�$�V�,�Y�7�$�V�,�Y�7�	
�
��y���i��0�+�I�v�>��Mr,c�Z�d|vr|d|d<d|vr|d|d<d|vr|d|ddd<yy)N�mturk�routesrprr6)rcrxs  r$ruru�sU���	��!�%�(��u�
��i��'��4��{���9��)2�8�)<��y��!��X�&�r,c�`�t|dd�}d|vr?|dkDr:|ddD]/}dd|d|dd�}d	|vr|d	|d	<|d
j|��1t|dd�}d|vrE|dkDr?|ddD]3}dd|d
�d|d��d�}d	|vr|d	|d	<|d
j|��5yyy)Nrr�
additionalrrqrmrWrsrtr{rp�ipv6�static6r`�/�prefix)rVrnrW)r\r0)rcrx�additional_countr}�adds     r$rvrv�s���9�V�,�\�:�;��
���/�!�3�#�F�+�L�9�	*�J� �!�%�i�0�%�i�0�	�C��:�%� *�8� 4��H�
��9��$�$�S�)�	*��9�V�,�\�:�;��
���/�!�3�#�F�+�L�9�	*�J�!�!��i�(�*�X�*>�@��C��:�%� *�8� 4��H�
��9��$�$�S�)�	*� 4�r,c�v�|dD]1}|ddk7r�t|d�}|std|dz��||d<�3y)NrYrVrhrjrgri)rRr)rxrcrws   r$�add_interface_namesr�sa���H�%�	+�	��V��
�*��+�I�m�,D�E����@��M�*�+��
�+�	�&��	+r,rK)F)!r�logging�	functoolsr�requestsrrBrrrrr	�cloudinit.net.dhcpr
�cloudinit.net.ephemeralr�	getLogger�__name__rr%rrr7r:r@rrMrRrer]rurvr�r6r,r$�<module>r�s���
����6�6�/�3��g����!����?C��
��@(�����&�0��'�
�'�
 ��<"�J	=�*�F
+r,