관리-도구
편집 파일: net_convert.cpython-39.pyc
a ����'�DgJ����������������������@���s����d�Z�ddlZddlZddlZddlZddlZddlZddlmZm Z �ddl mZ�ddlm Z mZmZmZmZmZ�ddlmZ�ddlmZ�ddlmZ�d Zdd d�Zdd ��Zedkr�e�����Zeee��dS�)z(Debug network config format conversions.�����N)�distros�safeyaml)�loggers)�eni�netplan�network_manager� network_state�networkd� sysconfig)�DataSourceAzure)� openstack)�guestcust_utilznet-convertc�����������������C���s����|�st�jttd�}�|�jddtdddd��|�jdd g�d �ddd��|�jd ddddd��|�jdddd��tj���D��dd��|�jdddddd��|�jdddd��|�jd d!g�d"�dd#d��|�S�)$a��Build 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. )�prog�descriptionz-pz--network-data�PATHTz!The network configuration to read)�type�metavar�required�helpz-kz--kind)r����network_data.json�yaml� azure-imds� vmware-imcz&The format of the given network config)�choicesr���r���z-dz--directoryzdirectory to place output in)r���r���r���z-Dz--distroc�����������������S���s���g�|�]}|D�]}|�qqS���r���)�.0Zsublist�itemr���r����C/usr/lib/python3.9/site-packages/cloudinit/cmd/devel/net_convert.py� <listcomp>G���s���zget_parser.<locals>.<listcomp>)r���r���z-mz--maczname,mac�appendzinterface name to mac mapping)r����actionr���z--debug� store_truezenable debug logging to stderr.)r ���r���z-Oz --output-kind)r���r���r ���r ����network-managerz!The network config format to emit) �argparse�ArgumentParser�NAME�__doc__�add_argument�openr���Z OSFAMILIES�values)�parserr���r���r���� get_parser���sd������ ������r+���c�������������� ���C���s���|j��d�s|�j�d7��_�tj�|j��s4t�|j���|jrJtjt j d��ntjt jd��|jr�i�}|jD�]}|� dd�\}}|||<�qhnd�}|j���}|jdkr�t�|�}n�|jdkr�t�|�}d|v�r�|�d�}|jr�tj�d�d t�|�d g���nt|jdk�rtjt�|�|d�}nR|jd k�r@t j!t�|�d�dd�}n,|jdk�rlt"�#t"�$|jj%��}t"�&|d�}t'�(|j)�} | |j)i�d��} |j*dk�r�tj+}| j,�d�}n�|j*dk�r�t-j+}| j,�di��}d|d<�|d�dd���|d<�ddg|d<�nh|j*dk�rt.j+}| j,�d�}nH|j*dk�r0t/j+}| j,�d�}n(|j*dk�rPt0j+}| j,�d�}nt1d��||d�}t2j3||d�} |j�r�tj�d�d dt�4| �d g���tj�d �d|j|jj%f�d |j*|j�f�g�d���|j5| |j�d!��d�S�)"N�/)�level�,����r���r����network� z Input YAML��r���)� known_macsr���T)Z&apply_network_config_for_secondary_ipsr���Fr���ZpostcmdsZnetplan_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)6Z directory�endswith�os�path�isdir�makedirs�debugr���Zsetup_basic_logging�logging�DEBUGZWARNZmac�splitZnetwork_data�read�kindr���Zconvert_eni_datar���Z safe_load�get�sys�stderr�write�joinr����dumpsr���Zconvert_net_json�json�loads�azureZ6generate_network_config_from_instance_network_metadatar ���ZConfigZ ConfigFile�nameZ%get_network_data_from_vmware_cust_cfgr���Zfetch�distroZoutput_kindZRendererZrenderer_configsr���r ���r ���r����RuntimeErrorr���Zparse_net_config_data�dumpZrender_network_state)rJ����argsr3���r���Z iface_nameZ iface_macZnet_dataZpre_nsr4���Z distro_clsrK���Zr_cls�r�nsr���r���r����handle_args`���s����� � ���� � �����rQ����__main__)N) r&���r#���rG���r<���r7���rB���r���Z cloudinitr���r���Z cloudinit.logr���Z cloudinit.netr���r���r���r���r ���r ���Zcloudinit.sourcesr���rI���Zcloudinit.sources.helpersr���Z$cloudinit.sources.helpers.vmware.imcr ���r%���r+���rQ����__name__� parse_argsrN���r���r���r���r����<module>���s$��� B]