Your IP : 216.73.217.13


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

U

�Ad��@s�dZddlZddlZddlZddlZddlZddlmZmZm	Z	ddl
mZmZm
Z
mZmZmZddlmZddlmZddlmZdZdd	d
�Zdd�Zed
kr�e���Zeee�dS)z(Debug network config format conversions.�N)�distros�log�safeyaml)�eni�netplan�network_manager�
network_state�networkd�	sysconfig)�DataSourceAzure)�	openstack)�guestcust_utilznet-convertcCs�|stjttd�}|jddtdddd�|jdd	d
ddd
dgddd�|jdddddd�|jdddd�tj��D�dd�|jdddddd�|jd d!d"d#�|jd$d%d
d&d'd(d)gdd*d�|S)+aBuild or extend and arg parser for net-convert utility.

    @param parser: Optional existing ArgumentParser instance representing the
        subcommand which will be extended to support the args of this utility.

    @returns: ArgumentParser with proper argument configuration.
    )�progZdescriptionz-pz--network-data�PATHTz!The network configuration to read)�type�metavar�required�helpz-kz--kindr�network_data.json�yaml�
azure-imds�
vmware-imcz&The format of the given network config)�choicesrrz-dz--directoryzdirectory to place output in)rrrz-Dz--distrocSsg|]}|D]}|�qqS�r)�.0Zsublist�itemrr�A/usr/lib/python3/dist-packages/cloudinit/cmd/devel/net_convert.py�
<listcomp>Eszget_parser.<locals>.<listcomp>)rrz-mz--maczname,mac�appendzinterface name to mac mapping)r�actionrz--debug�
store_truezenable debug logging to stderr.)rrz-Oz
--output-kindrr	r
�network-managerz!The network config format to emit)	�argparse�ArgumentParser�NAME�__doc__�add_argument�openrZ
OSFAMILIES�values)�parserrrr�
get_parsersr���
������r*c	Cs�|j�d�s|jd7_tj�|j�s4t�|j�|jrJtjtj	d�ntjtj
d�|jr�i}|jD]}|�dd�\}}|||<qhnd}|j
��}|jdkr�t�|�}n�|jdkr�t�|�}d|kr�|�d�}|jr�tj�d�d	t�|�d
g��np|jdk�rtjt�|�|d�}nN|jd
k�r<t�t�|�d�}n,|jdk�rht �!t �"|j
j#��}t �$|d�}t%�&|j'�}	|	|j'id�}
|j(dk�r�tj)}|
j*�d�}n�|j(dk�r�t+j)}|
j*�di�}d|d<|ddd�|d<ddg|d<nh|j(dk�rt,j)}|
j*�d�}nH|j(dk�r,t-j)}|
j*�d�}n(|j(dk�rLt.j)}|
j*�d�}nt/d��||d�}t0j1||d�}
|j�r�tj�d�d
dt2�3|
�d
g��tj�d
�d|j|j
j#fd|j(|jfg�d�|j4|
|jd�dS) N�/)�level�,�rrZnetwork�
z
Input YAML�r)�
known_macsrrFrZpostcmdsZnetplan_pathzdhcp-use-domainszipv6-mtuZfeaturesr	r
r!zInvalid output_kind)�config)ZrendererzInternal Statez"Read input format '%s' from '%s'.
z!Wrote output format '%s' to '%s'
)r�target)5Z	directory�endswith�os�path�isdir�makedirs�debugrZsetupBasicLogging�DEBUGZWARNZmac�splitZnetwork_data�readZkindrZconvert_eni_datar�load�get�sys�stderr�write�join�dumpsrZconvert_net_json�json�loads�azureZ6generate_network_config_from_instance_network_metadatar
ZConfigZ
ConfigFile�nameZ%get_network_data_from_vmware_cust_cfgrZfetch�distroZoutput_kindZRendererZrenderer_configsrr	r
r�RuntimeErrorrZparse_net_config_datar�dumpZrender_network_state)rG�argsr1rZ
iface_nameZ	iface_macZnet_dataZpre_nsr2Z
distro_clsrHZr_cls�r�nsrrr�handle_args^s�





�����
 �
�����rN�__main__)N)r%r"rDr5r?rZ	cloudinitrrrZ
cloudinit.netrrrrr	r
Zcloudinit.sourcesrrFZcloudinit.sources.helpersrZ$cloudinit.sources.helpers.vmware.imcr
r$r*rN�__name__�
parse_argsrKrrrr�<module>s  
B\