File: //lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceCloudCIX.cpython-310.pyc
o
x[h� � @ s� d dl Z d dlZd dlmZ d dlmZmZmZmZ e� e
�ZdgZdZ
dZG dd� dej�Zd efd
d�Zdefd
d�ZeejejffgZdd� ZdS )� N)�Optional)�dmi�sources�
url_helper�utilzhttp://169.254.169.254� �CloudCIXc sl e Zd ZdZdZdZdZ� fdd�Zdd� Zde fd d
�Z
dee fdd�Z
ed
d� �Zedd� �Z� ZS )�DataSourceCloudCIXr � � c s$ t t| ��|||� d | _d | _d S �N)�superr �__init__�
_metadata_url�_net_cfg)�self�sys_cfg�distro�paths�� __class__� �F/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceCloudCIX.pyr s
zDataSourceCloudCIX.__init__c
C s` z| � � }W n tjy } z
t�d|� W Y d}~dS d}~ww |d | _t�|d �| _dS )z6
Fetch the user data and the metadata
z0Failed to read data from CloudCIX datasource: %sNF� meta-data� user-dataT) �crawl_metadata_servicer �InvalidMetaDataException�LOG�error�metadatar �
decode_binary�userdata_raw)r �crawled_datar r r r � _get_data s ���
zDataSourceCloudCIX._get_data�returnc C s, | � � }|d u r
t�d��t|| �� �}|S )Nz Could not determine metadata URL)�determine_md_urlr r �
read_metadata�get_url_params)r �md_url�datar r r r / s �z)DataSourceCloudCIX.crawl_metadata_servicec C s� | j r| j S | �� }tjt|j|jd�\}}|sd S ttdd�D ]I}t� |d�
|�d�}z
tj|| jd�}W n tj
yP } z
t�d||� W Y d }~q d }~ww |�� rct� |d�
|��| _ | j S t�d|� q | j S ) N)�max_wait�timeoutr ���zv{0}r )r+ zURL %s raised exception %szNo metadata found at URL %s)r r'