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

Ӈg
��(�ddlZddlZddlmZddlmZmZddlmZm	Z	ddl
mZddl
m
Z
mZeje�ZdZGd�d	ej�Zd
�Zd�ZGd�d
e�Zeej.ffeej.ej0ffgZd�Zy)�N)�List)�dmi�sources)�
EventScope�	EventType)�
DataSourceEc2)�DataSourceHostname�NicOrderzAlibaba Cloud ECSc�z��eZdZUdZdgZdZgZeee	d<e
d��Z�fd�Zde
dd	f�fd
�Zdd�Zd�Zd
�Z�xZS)�DataSourceAliYun�AliYunzhttp://100.100.100.200z
2016-01-01�extended_metadata_versionsc��y)NzX-aliyun-ecs-metadata-token���selfs �D/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceAliYun.py�imdsv2_token_put_headerz(DataSourceAliYun.imdsv2_token_put_headers��,�c���tt|�|||�tj|j
�|_|j
tjjtj�tj|_
y�N)�superr�__init__�copy�deepcopy�default_update_eventsr�NETWORK�addr�BOOTr
�NIC_NAME�_fallback_nic_order)r�sys_cfg�distro�paths�	__class__s    �rrzDataSourceAliYun.__init__s_���
���.�w���F�%)�]�]�4�3M�3M�%N��"��"�"�:�#5�#5�6�:�:�9�>�>�J�#+�#4�#4�� r�ci_pkl_version�returnNc�N��t�|�|�tj|_yr)r�	_unpickler
r r!)rr&r%s  �rr)zDataSourceAliYun._unpickle%s���
���.�)�#+�#4�#4�� rc�`�|jjd�}d}|�d}d}t||�S)N�hostnameFzlocalhost.localdomainT)�metadata�getr	)r�fqdn�
resolve_ip�
metadata_onlyr+�
is_defaults      r�get_hostnamezDataSourceAliYun.get_hostname)s8���=�=�$�$�Z�0���
���.�H��J�!�(�J�7�7rc�L�t|jjdi��S)Nzpublic-keys)�parse_public_keysr,r-rs r�get_public_ssh_keysz$DataSourceAliYun.get_public_ssh_keys1s�� ����!2�!2�=�"�!E�F�Frc�~�t�rtjjStjjSr)�
_is_aliyun�EC2�
CloudNames�ALIYUN�NO_EC2_METADATArs r�_get_cloud_namez DataSourceAliYun._get_cloud_name4s'���<��>�>�(�(�(��>�>�1�1�1r)FFF)�__name__�
__module__�__qualname__�dsname�
metadata_urls�min_metadata_versionrr�str�__annotations__�propertyrr�intr)r2r5r<�
__classcell__)r%s@rrrsc���
�F�-�.�M�(��,.���S�	�.��-��-�5�5��5��5�8�G�2rrc�:�tjd�tk(S)Nzsystem-product-name)r�
read_dmi_data�ALIYUN_PRODUCTrrrr7r7;s�����2�3�~�E�Erc���g}|j�D]�\}}t|t�r |j|j	���6t|t
�r|j
|��Xt|t�s�i|jdg�}t|t�r |j|j	����t|t
�s��|j
|���|S)Nzopenssh-key)	�items�
isinstancerC�append�strip�list�extend�dictr-)�public_keys�keys�_key_id�key_body�keys     rr4r4?s���
�D�(�.�.�0�
!�����h��$��K�K����(�)�
��$�
'��K�K��!�
��$�
'��,�,�}�b�1�C��#�s�#����C�I�I�K�(��C��&����C� �
!��Krc��eZdZdZdZy)�DataSourceAliYunLocalayDatasource run at init-local which sets up network to query metadata.

    In init-local, no network is available. This subclass sets up minimal
    networking with dhclient on a viable nic so that it can talk to the
    metadata service. If the metadata service provides network configuration
    then render the network configuration for that instance based on metadata.
    TN)r=r>r?�__doc__�perform_dhcp_setuprrrrYrYOs����rrYc�6�tj|t�Sr)r�list_from_depends�datasources)�dependss r�get_datasource_listr`cs���$�$�W�k�:�:r)r�logging�typingr�	cloudinitrr�cloudinit.eventrr�cloudinit.sourcesrr8r	r
�	getLoggerr=�LOGrJrr7r4rY�DEP_FILESYSTEM�DEP_NETWORKr^r`rrr�<module>rjs������"�1�2�:��g����!��$��'2�s�(�(�'2�TF�
� 	�,�	��W�3�3�5�6���.�.��0C�0C�D�E���;r