Current File : //usr/lib/python3/dist-packages/cloudinit/cmd/devel/__pycache__/net_convert.cpython-312.pyc
�

ӇgJ����dZddlZddlZddlZddlZddlZddlZddlmZm	Z	ddl
mZddlm
Z
mZmZmZmZmZddlmZddlmZddlmZd	Zd
d
�Zd�Zedk(re�j=�Zeee�yy)z(Debug network config format conversions.�N)�distros�safeyaml)�loggers)�eni�netplan�network_manager�
network_state�networkd�	sysconfig)�DataSourceAzure)�	openstack)�guestcust_utilznet-convertc
��|stjtt��}|j	ddt
ddd��|j	dd	gd
�dd��|j	d
dddd��|j	ddtjj�D��cgc]}|D]}|���
c}}d��|j	ddddd��|j	ddd��|j	ddgd �dd!��|Scc}}w)"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.
    )�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)�choicesrrz-dz--directoryzdirectory to place output in)rrrz-Dz--distro)rrz-mz--maczname,mac�appendzinterface name to mac mapping)r�actionrz--debug�
store_truezenable debug logging to stderr.)rrz-Oz
--output-kind)rrr
r�network-managerz!The network config format to emit)	�argparse�ArgumentParser�NAME�__doc__�add_argument�openr�
OSFAMILIES�values)�parser�sublist�items   �A/usr/lib/python3/dist-packages/cloudinit/cmd/devel/net_convert.py�
get_parserr,sO����(�(�d��H��
�����
���
0�
�������
��
5���������
+��������� '� 2� 2� 9� 9� ;�
���
�@D�D�
��
��
���������
,�������,�-N��������N��
0����M��-
s�C7c
�Z
�|jjd�s|xjdz
c_tjj	|j�stj
|j�|jr%tjtj��n$tjtj��|jr.i}|jD]}|jdd�\}}|||<�nd}|jj�}|j dk(rt#j$|�}�nc|j dk(r|t'j(|�}d|vr|j+d�}|j�rt,j.j1dj3d	t5j6|�d
g��n�|j dk(r+t9j:t=j>|�|��}n�|j d
k(r.tAjBt=j>|�dd��}na|j dk(rRtEjFtEjH|jjJ��}tEjL|d�}tOjP|jR�}	|	|jRid�}
|jTdk(r-t"jV}|
jXj+d�}�n|jTdk(rDtZjV}|
jXj+di�}d|d<|ddd|d<ddg|d<n�|jTdk(r,t\jV}|
jXj+d�}n�|jTdk(r,t^jV}|
jXj+d�}nF|jTdk(r,t`jV}|
jXj+d�}ntcd��||��}tejf|��}
|jrEt,j.j1dj3d
dt'jh|
�d
g��t,j.j1d
j3d|j �d |jjJ�d!�d"|jT�d#|j�d$�g�dz�|jk|
|j�%�y)&N�/)�level�,�rr�network�
z
Input YAML�r)�
known_macsrT)�&apply_network_config_for_secondary_ipsrFr�postcmds�netplan_pathzdhcp-use-domainszipv6-mtu�featuresr
rrzInvalid output_kind)�config)�rendererzInternal StatezRead input format 'z' from 'z'.
zWrote output format 'z' to 'z'
)r	�target)6�	directory�endswith�os�path�isdir�makedirs�debugr�setup_basic_logging�logging�DEBUG�WARN�mac�split�network_data�read�kindr�convert_eni_datar�	safe_load�get�sys�stderr�write�joinr�dumpsr
�convert_net_json�json�loads�azure�6generate_network_config_from_instance_network_metadatar�Config�
ConfigFile�name�%get_network_data_from_vmware_cust_cfgr�fetch�distro�output_kind�Renderer�renderer_configsrr
rr�RuntimeErrorr	�parse_net_config_data�dump�render_network_state)r\�argsr5r*�
iface_name�	iface_mac�net_data�pre_nsr:�
distro_clsr_�r_cls�r�nss              r+�handle_argsrp`s���>�>�"�"�3�'����#���
�7�7�=�=����(�
���D�N�N�#��z�z��#�#�'�-�-�8��#�#�'�,�,�7��x�x��
��H�H�	/�D�$(�J�J�s�A�$6�!�J�	�$.�J�y�!�	/��
�� � �%�%�'�H��y�y�E���%�%�h�/��	
���f�	�����)������Z�Z�	�*�F��:�:��J�J����	�	�<�����)?��D�E�
�
���)�	)��+�+��J�J�x� �Z�
��
���l�	"��M�M��J�J�x� ��+�37�
��
���l�	"��&�&��%�%�d�&7�&7�&<�&<�=�
�� �E�E��E�
�����t�{�{�+�J�
����R��
.�F����5� ������(�(�,�,�U�3��	
�	�	�Y�	&�� � ���(�(�,�,�Y��;��"��z��!'��!7���!;��~��0�*�=��z��	
�	�	�Z�	'��!�!���(�(�,�,�Z�8��	
�	�	�[�	(��"�"���(�(�,�,�[�9��	
�	�	�.�	.��(�(���(�(�,�,�->�?���0�1�1�
�V��A�	�	,�	,�V�a�	@�B��z�z��
�
������B�(8�$�)�)�B�-��#L�M�N��J�J���
����9�9�d�/�/�4�4�6��#�#�T�^�^�5�
�	
��	�
�����D�N�N��C��__main__)N) r#r rVrEr?rPr�	cloudinitrr�
cloudinit.logr�
cloudinit.netrrrr	r
r�cloudinit.sourcesrrX�cloudinit.sources.helpersr
�$cloudinit.sources.helpers.vmware.imcrr"r,rp�__name__�
parse_argsrg�rqr+�<module>r|ss��/����	�
��'�!���7�/�?���?�DZD�z�z���<�"�"�$�D���d��rq