HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/cloudinit/__pycache__/dhclient_hook.cpython-310.pyc
o

�Ad�	�@s�dZddlZddlZddlmZddlmZddlmZe�e	�Z
dZdZdZ
ee
fZd	d
�Zdd�Zdd
d�Zddd�Zddd�Ze	dkrlddlZe�Zejejdd�d�Zeeeej�d�d�Zerne�e�dSdSdS)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_.�DHCP4_�new_�)�items�
startswith�replace�lower)�info�new_info�k�v�keyrrr�_filter_env_valss�rcCs�|tvrtd|tf��|durt�}|durtj}tj�||d�}|tkrBtj�|�s2t�	|�t
�|t|��t
�d|�dS|tkrYtj�|�r[t�|�t
�d|�dSdSdS)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�env�	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)r1)�action)�argparse�ArgumentParser�NAME�__doc__�add_argumentr�set_defaults�handle_args)�parserrrr�
get_parser:s��r<cCst|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+rrrr:Hsr:�__main__�)r>�_CI_DHCP_HOOK_DATA_D)r+)NN)N)r7r4r�	cloudinitrr�loggingr�	getLogger�__name__r%r6r!r'rrrr.r<r:�sysr;�
parse_args�argvr>r �get�return_value�exitrrrr�<module>s6



��