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: //usr/lib/python3/dist-packages/cloudinit/net/__pycache__/renderer.cpython-310.pyc
o

�AdS�@sjddlZddlZddlmZddlmZmZddlmZdd�Z	dd�Z
d	d
�Ze	d�ZGdd
�d
�Z
dS)�N)�Optional)�NetworkState�parse_net_config_data)�generate_udev_rulec��fdd�S)Nc��|dkS)N�type���iface��
match_typer	�8/usr/lib/python3/dist-packages/cloudinit/net/renderer.py�<lambda>�z filter_by_type.<locals>.<lambda>r	rr	rr�filter_by_type�rcr)Ncr)N�namer	r
��
match_namer	rrrz filter_by_name.<locals>.<lambda>r	rr	rr�filter_by_namerrcr)Ncs�|vo|�S�Nr	r
rr	rrsz filter_by_attr.<locals>.<lambda>r	rr	rr�filter_by_attrrr�physicalc@sjeZdZddd�Zedefdd��Zej		ddede	e
ddfd	d
��Z		dde
de	e
fdd
�ZdS)�RendererNcCsdSrr	)�self�configr	r	r�__init__ szRenderer.__init__�
network_statecCsZt��}|�t�D]}d|vr(|�d�r(|�dd�}|�t|d|d|d��q	|��S)z2Given state, emit udev rules to map mac to ifname.r�mac_address�driverN)r )�io�StringIO�iter_interfaces�filter_by_physical�get�writer�getvalue)r�contentrr r	r	r�_render_persistent_net#s���zRenderer._render_persistent_net�	templates�returncCsdS)zRender network state.Nr	)rrr*�targetr	r	r�render_network_state4szRenderer.render_network_state�network_configcCs|jt|�||d�S)N)rr*r,)r-r)rr.r*r,r	r	r�render_network_config=s
�zRenderer.render_network_configr)NN)
�__name__�
__module__�__qualname__r�staticmethodrr)�abc�abstractmethodr�dictr-r/r	r	r	rrs*
�������r)r4r!�typingr�cloudinit.net.network_staterr�cloudinit.net.udevrrrrr$rr	r	r	r�<module>s