Current File : //usr/share/netplan/netplan_cli/cli/commands/__pycache__/generate.cpython-312.pyc
�

Z9
gm��f�dZddlZddlZddlZddlZddlZddlmZGd�dej�Z	y)znetplan generate command line�N�)�utilsc�*��eZdZ�fd�Zd�Zd�Z�xZS)�NetplanGeneratec�*��t�|�ddd��y)N�generatezFGenerate backend specific configuration files from /etc/netplan/*.yamlT)�
command_id�description�leaf)�super�__init__)�self�	__class__s ��7/usr/share/netplan/netplan_cli/cli/commands/generate.pyr
zNetplanGenerate.__init__s ���
���J�&A�"�	�	$�c���|jjdd��|jjdd��|j|_|j	�|j�y)N�
--root-dirzOSearch for and generate configuration files in this root directory instead of /)�help�	--mappingzFDisplay the netplan device ID/backend/interface name mapping and exit.)�parser�add_argument�command_generate�func�
parse_args�run_command)rs r�runzNetplanGenerate.run%sa����� � ��&w�	!�	y���� � ��&n�	!�	p��)�)��	��������rc
�j�dtjvrctjd�}|�t	d��tj|ddddddd	g�}|d
k7r|dk(rtd��t	d
|z��ytj�g}|jr|d|jgz
}|jr|d|jgz
}tjd|�tj|�}	tjgd��|j�	tj"�t'j(|�y#t
j$r+}tjdt!|����Yd}~�pd}~wwxYw#t
j$r}tj$|�Yd}~��d}~wwxYw)N�SNAP�busctlzmissing busctl utility�callz--quietz--systemzio.netplan.Netplanz/io/netplan/Netplan�Generater�z8PermissionError: failed to communicate with dbus servicez?RuntimeError: failed to communicate with dbus service: error %srrzcommand generate: running %s)�udevadm�controlz--reloadz+Could not call "udevadm control --reload": )�os�environ�shutil�which�RuntimeError�
subprocessr �PermissionErrorr�get_generator_path�root_dir�mapping�logging�debug�
check_call�CalledProcessError�str�systemctl_daemon_reload�warning�sys�exit)rr�res�argv�es     rrz NetplanGenerate.command_generate0s����R�Z�Z���\�\�(�+�F��~�"�#;�<�<��/�/�6�6�9�j�#7�#8�#7�#-�	#%�&�C��a�x��#�:�)�R�T�T�'�Y�\_�_�a�a���(�(�*�+���=�=��\�4�=�=�1�1�D��<�<��[�$�,�,�/�/�D��
�
�4�d�;��o�o�d�#��	R��!�!�"D�E��<�<��
#��-�-�/�	����
���,�,�	R��M�M�G��A��x�P�Q�Q��	R���0�0�
#�����"�"��
#�s0�1D?�F�?E=�!E8�8E=�F2�F-�-F2)�__name__�
__module__�__qualname__r
rr�
__classcell__)rs@rrrs���$�	�2rr)
�__doc__r/r%r6r*r'�r�NetplanCommandr�rr�<module>rCs0��$$��	�
��
��E�e�*�*�Er