HEX
Server: Apache/2.4.65 (Debian)
System: Linux kubikelcreative 5.10.0-35-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64
User: www-data (33)
PHP: 8.4.13
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/cloudinit/__pycache__/dhclient_hook.cpython-39.pyc
a

��`�	�@s�dZddlZddlZddlmZddlmZddlmZe�e	�Z
dZdZdZ
ee
fZd	d
�Zdd�Zdd
d�Zddd�Zddd�Ze	dkr�ddlZe�Zejejdd�d�Zeeeej�d�d�Zer�e�e�dS)z-Run the dhclient hook to record network info.�N)�
atomic_helper)�log)�stagesz
dhclient-hook�up�downcCst��}tj�|j��d�S)Nzdhclient.hooks)r�Init�os�path�join�paths�get_runpath)�i�r�9/usr/lib/python3/dist-packages/cloudinit/dhclient_hook.py�_get_hooks_dirsrcCsNi}|��D]<\}}|�d�s(|�d�r|�dd��dd���}|||<q|S)zrGiven info (os.environ), return a dictionary with
    lower case keys for each entry starting with DHCP4_ or new_.ZDHCP4_Znew_�)�items�
startswith�replace�lower)�infoZnew_info�k�v�keyrrr�_filter_env_valss
rcCs�|tvrtd|tf��|dur&t�}|dur4tj}tj�||d�}|tkr�tj�|�sdt�	|�t
�|t|��t
�d|�n*|tkr�tj�|�r�t�|�t
�d|�dS)Nz*Unexpected event '%s'. Expected one of: %sz.jsonzWrote dhclient options in %sz Removed dhclient options file %s)�EVENTS�
ValueErrorrr�environr	r
�UP�exists�makedirsr�
write_jsonr�LOG�debug�DOWN�remove)�	interface�event�data_d�envZ	hook_filerrr�run_hook$s$�

r*cCsH|durtjttd�}|jddtd�|jddd�|jttfd�|S)	N)�prog�descriptionr'zevent taken on the interface)�help�choicesr&z&the network interface being acted upon)r-)�action)�argparse�ArgumentParser�NAME�__doc__�add_argumentr�set_defaults�handle_args)�parserrrr�
get_parser9s��r8cCst|j|j|d�S)zXHandle the Namespace args.
    Takes 'name' as passed by cloud-init main. not used here.)r&r'r()r*r&r')�name�argsr(rrrr6Esr6�__main__�)r:Z_CI_DHCP_HOOK_DATA_D)r()NN)N)N)r3r0r�	cloudinitrr�loggingr�	getLogger�__name__r"r2rr$rrrr*r8r6�sysr7�
parse_args�argvr:r�get�return_value�exitrrrr�<module>s0



�