Your IP : 216.73.217.13


Current Path : /usr/lib/python3/dist-packages/cloudinit/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/cloudinit/__pycache__/dhclient_hook.cpython-38.pyc

U

�Ad�	�@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-hookZupZdowncCst��}tj�|j��d�S)Nzdhclient.hooks)rZInit�os�path�join�pathsZget_runpath)�i�r
�9/usr/lib/python3/dist-packages/cloudinit/dhclient_hook.py�_get_hooks_dirsrcCsNi}|��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�keyr
r
r�_filter_env_valss
rcCs�|tkrtd|tf��|dkr&t�}|dkr4tj}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�
ValueErrorrr�environrr�UP�exists�makedirsrZ
write_jsonr�LOG�debug�DOWN�remove)�	interface�event�data_d�envZ	hook_filer
r
r�run_hook$s$
�

r%cCsH|dkrtjttd�}|jddtd�|jddd�|jttfd�|S)	N)�progZdescriptionr"zevent taken on the interface)�help�choicesr!z&the network interface being acted upon)r')�action)�argparse�ArgumentParser�NAME�__doc__�add_argumentrZset_defaults�handle_args)�parserr
r
r�
get_parser:s��r1cCst|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#r
r
rr/Hsr/�__main__�)r3Z_CI_DHCP_HOOK_DATA_D)r#)NN)N)N)r-r*rZ	cloudinitrrZloggingrZ	getLogger�__name__rr,rrrrrr%r1r/�sysr0�
parse_args�argvr3r�getZreturn_value�exitr
r
r
r�<module>s4




�