
    x[hj                     n    S SK r S SKrS SKJr  S SKJr  S SKJr  S rS r	 " S S\ R                  5      rg)	    N)Optional)NetworkState)generate_udev_rulec                    ^  U 4S j$ )Nc                    > TU S   :H  $ )Ntype )iface
match_types    8/usr/lib/python3/dist-packages/cloudinit/net/renderer.py<lambda> filter_by_type.<locals>.<lambda>   s    uV}4    r	   )r   s   `r   filter_by_typer      s	    44r   c                    ^  U 4S j$ )Nc                 &   > TU ;   =(       a    U T   $ Nr	   )r
   
match_names    r   r    filter_by_attr.<locals>.<lambda>   s    *-C%
2CCr   r	   )r   s   `r   filter_by_attrr      s	    DDr   c                   x    \ rS rSrS
S jr\S\4S j5       r\R                    SS\S\
\   SS4S jj5       rS	rg)Renderer   Nc                     g r   r	   )selfconfigs     r   __init__Renderer.__init__   s    r   network_statec           	      2   [         R                  " 5       nU R                  [        S5      5       HU  nSU;   d  M  UR	                  S5      (       d  M#  UR	                  SS5      nUR                  [        US   US   US95        MW     UR                  5       $ )z2Given state, emit udev rules to map mac to ifname.physicalnamemac_addressdriverN)r$   )ioStringIOiter_interfacesr   getwriter   getvalue)r   contentr
   r$   s       r   _render_persistent_netRenderer._render_persistent_net   s    
 ++-"22>*3MNE599]#;#;8T2&fu]';F	 O !!r   	templatesreturnc                     g)zRender network state.Nr	   )r   r   r.   targets       r   render_network_stateRenderer.render_network_state-   s    r   r	   r   )NN)__name__
__module____qualname____firstlineno__r   staticmethodr   r,   abcabstractmethodr   dictr2   __static_attributes__r	   r   r   r   r      sd     "l " "  	 %)	$#$ D>$
 
$ $r   r   )r9   r%   typingr   cloudinit.net.network_stater   cloudinit.net.udevr   r   r   ABCr   r	   r   r   <module>rA      s1     	  4 15E$sww $r   