Your IP : 216.73.216.31


Current Path : /usr/lib/python3/dist-packages/cloudinit/net/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/cloudinit/net/__pycache__/renderer.cpython-38.pyc

U

�AdS�@sjddlZddlZddlmZddlmZmZddlmZdd�Z	dd�Z
d	d
�Ze	d�ZGdd
�d
�Z
dS)�N)�Optional)�NetworkState�parse_net_config_data)�generate_udev_rulecs�fdd�S)Ncs�|dkS)N�type���iface�Z
match_typer�8/usr/lib/python3/dist-packages/cloudinit/net/renderer.py�<lambda>�z filter_by_type.<locals>.<lambda>rr
rr
r�filter_by_typesrcs�fdd�S)Ncs�|dkS)N�namerr�Z
match_namerrrr
z filter_by_name.<locals>.<lambda>rrrrr�filter_by_namesrcs�fdd�S)Ncs�|ko|�S�Nrrrrrrr
z filter_by_attr.<locals>.<lambda>rrrrr�filter_by_attrsrZphysicalc@s\eZdZd
dd�Zeed�dd��Zejdee	e
dd�dd	��Zde
e	e
d
�dd�ZdS)�RendererNcCsdSrr)�selfZconfigrrr�__init__ szRenderer.__init__)�
network_statecCsZt��}|�t�D]>}d|kr|�d�r|�dd�}|�t|d|d|d��q|��S)z2Given state, emit udev rules to map mac to ifname.rZmac_address�driverN)r)�io�StringIOZiter_interfaces�filter_by_physical�get�writer�getvalue)rZcontentr	rrrr�_render_persistent_net#s��zRenderer._render_persistent_net)r�	templates�returncCsdS)zRender network state.Nr)rrr �targetrrr�render_network_state4szRenderer.render_network_state)�network_configr cCs|jt|�||d�S)N)rr r")r#r)rr$r r"rrr�render_network_config=s
�zRenderer.render_network_config)N)NN)NN)
�__name__�
__module__�__qualname__r�staticmethodrr�abc�abstractmethodr�dictr#r%rrrrrs"
����r)r*r�typingrZcloudinit.net.network_staterrZcloudinit.net.udevrrrrrrrrrr�<module>s