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/cmd/devel/__pycache__/net_convert.cpython-310.pyc
o

�Ad��@s�dZddlZddlZddlZddlZddlZddlmZmZm	Z	ddl
mZmZm
Z
mZmZmZddlmZddlmZddlmZdZdd	d
�Zdd�Zed
kr]e���Zeee�dSdS)z(Debug network config format conversions.�N)�distros�log�safeyaml)�eni�netplan�network_manager�
network_state�networkd�	sysconfig)�DataSourceAzure)�	openstack)�guestcust_utilznet-convertcCs�|s	tjttd�}|jddtdddd�|jdd	gd
�ddd�|jd
ddddd�|jdddd�tj��D�dd�|jdddddd�|jdddd�|jd d!gd"�dd#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.
    )�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--distrocSsg|]	}|D]}|�qqS�r)�.0�sublist�itemrr�A/usr/lib/python3/dist-packages/cloudinit/cmd/devel/net_convert.py�
<listcomp>Es
��zget_parser.<locals>.<listcomp>)rrz-mz--maczname,mac�appendzinterface name to mac mapping)r�actionrz--debug�
store_truezenable debug logging to stderr.)r!rz-Oz
--output-kind)rrr	r
�network-managerz!The network config format to emit)	�argparse�ArgumentParser�NAME�__doc__�add_argument�openr�
OSFAMILIES�values)�parserrrr�
get_parsersd��
������r-c	Cs�|j�d�s
|jd7_tj�|j�st�|j�|jr%tjtj	d�ntjtj
d�|jrDi}|jD]}|�dd�\}}|||<q4nd}|j
��}|jdkrVt�|�}n[|jdkr|t�|�}d|vri|�d�}|jr{tj�d�d	t�|�d
g��n5|jdkr�tjt�|�|d�}n%|jd
kr�t�t�|�d�}n|jdkr�t �!t �"|j
j#��}t �$|d�}t%�&|j'�}	|	|j'id�}
|j(dkr�tj)}|
j*�d�}nX|j(dkr�t+j)}|
j*�di�}d|d<|ddd�|d<ddg|d<n4|j(dk�rt,j)}|
j*�d�}n$|j(dk�rt-j)}|
j*�d�}n|j(dk�r!t.j)}|
j*�d�}nt/d��||d�}t0j1||d�}
|j�rEtj�d�d
dt2�3|
�d
g��tj�d
�d|j|j
j#fd|j(|jfg�d�|j4|
|jd�dS) N�/)�level�,�rr�network�
z
Input YAML�r)�
known_macsrrFr�postcmds�netplan_pathzdhcp-use-domainszipv6-mtu�featuresr	r
r#zInvalid output_kind)�config)�rendererzInternal Statez"Read input format '%s' from '%s'.
z!Wrote output format '%s' to '%s'
)r�target)5�	directory�endswith�os�path�isdir�makedirs�debugr�setupBasicLogging�DEBUG�WARN�mac�split�network_data�read�kindr�convert_eni_datar�load�get�sys�stderr�write�join�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	r
r�RuntimeErrorr�parse_net_config_datar�dump�render_network_state)rZ�argsr5r�
iface_name�	iface_mac�net_data�pre_nsr9�
distro_clsr]�r_cls�r�nsrrr�handle_args^s�

�




��

�
�
��


 �
�����rn�__main__)N)r'r$rTr>rNr�	cloudinitrrr�
cloudinit.netrrrrr	r
�cloudinit.sourcesrrV�cloudinit.sources.helpersr�$cloudinit.sources.helpers.vmware.imcr
r&r-rn�__name__�
parse_argsrerrrr�<module>s$ 
B\
�