BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/cloudinit/sources/__pycache__/DataSourceNWCS.cpython-36.pyc
3

�q�h��@s�ddlmZddlmZddlmZddlmZmZmZm	Z	m
Z
ddlmZddl
mZeje�ZdZded	iZd
ZdZdZGdd
�d
ej�Zdd�Zdd�Zddd�ZeejffgZdS)�)�
exceptions)�dmi)�log)�net�sources�subp�
url_helper�util)�NoDHCPLeaseError)�EphemeralDHCPv4zhttp://169.254.169.254/api/v1�metadata_urlz	/metadata��c@s@eZdZdZdd�Zdd�Zdd�Zedd	��Ze	d
d��Z
dS)
�DataSourceNWCS�NWCScCs�tjj||||�||_t�|_tjtj|ddgi�t	g�|_
|j
d|_|j
jdt
�|_|j
jdt�|_|j
jdt�|_tj|_tj|_dS)NZ
datasourcerr�retries�timeout�
wait_retry)r�
DataSource�__init__�distro�dict�metadatar	Z
mergemanydictZget_cfg_by_path�BUILTIN_DS_CONFIGZds_cfg�metadata_address�get�
MD_RETRIESr�
MD_TIMEOUTr�
MD_WAIT_RETRYr�UNSET�_network_configZDSMODE_NETWORKZdsmode)�selfZsys_cfgr�paths�r#�$/usr/lib/python3.6/DataSourceNWCS.pyrs
zDataSourceNWCS.__init__cCsv|j�}|dkrtd��||_|d|jd<|d|jd<|d|jd<|d|jd<|jdd�|_|jdd�|_d	S)
Nzfailed to get metadatazinstance-idzpublic-keys�networkZhostnamezlocal-hostnameZuserdataZ
vendordataT)�get_metadata�RuntimeErrorZ
metadata_fullrrZuserdata_rawZvendordata_raw)r!Zmdr#r#r$�	_get_data-szDataSourceNWCS._get_datacCs�yJtjd�t|jtj�dtdid��t|j|j	|j
|jd�SQRXWn<tt
jttjfk
r�}ztjd|��WYdd}~XnXdS)Nz#Attempting to get metadata via DHCP�urlz/metadata/instance-id)ZifaceZconnectivity_url_data)r�sec_betweenrzDHCP failure: %s)�LOG�inforrrZfind_fallback_nic�BASE_URL_V1�
read_metadatarrrrr
rZProcessExecutionErrorr'rZRequestException�error)r!�er#r#r$r&@s$
zDataSourceNWCS.get_metadatacCs�tjd�|jdkr*tjdtj�tj|_|jtjkr<|jS|jddsRtd��x@|jddD].}t|d�}|rbtj	d|d|�||d<qbW|jd|_|jS)	Nz Attempting network configurationz5Found None as cached _network_config, resetting to %sr%�configz"Unable to get metadata from serverZmac_addresszOverriding %s with %s�name)
r+�debugr Zwarningrrrr'�get_interface_namer,)r!�iZ
iface_namer#r#r$�network_config[s"

zDataSourceNWCS.network_configcCsdtjd�kS)Nrzsystem-manufacturer)rZ
read_dmi_datar#r#r#r$�	ds_detectxszDataSourceNWCS.ds_detectN)�__name__�
__module__�__qualname__Zdsnamerr(r&�propertyr6�staticmethodr7r#r#r#r$rsrcCstj�}||krdS|j|�S)N)rZget_interfaces_by_macr)ZmacZmacs_to_nicr#r#r$r4}sr4cCstj|t�S)N)rZlist_from_depends�datasources)Zdependsr#r#r$�get_datasource_list�sr>�cCs6tj||||d�}|j�s&td|��tj|jj��S)N)rr*rzunable to read metadata at %s)rZreadurl�okr'r	Z	load_json�contents�decode)r)rr*rZresponser#r#r$r.�s
r.N)r?r?r
)ZrequestsrZ	cloudinitrrZloggingrrrrr	Zcloudinit.net.dhcpr
Zcloudinit.net.ephemeralrZ	getLoggerr8r+r-rrrrrrr4r>r.ZDEP_FILESYSTEMr=r#r#r#r$�<module>s 
e