
    fp                     X    d dl mZ d dlmc mZ d dlmZ  G d dej                        Zy)    )OptionalNsubpc                      e Zd Zedefd       Zedefd       Zeddddededee   dee   fd	       Zeded
edefd       Z	edddded
edee   dee   fd       Z
edefd       Zeded
edefd       Zeded
efd       Zy)	BsdNetOps	interfacec                 4    t        j                   d| dg       y )Nifconfigupr   r   s    A/usr/lib/python3/dist-packages/cloudinit/net/netops/bsd_netops.pylink_upzBsdNetOps.link_up   s    		:y$/0    c                 4    t        j                   d| dg       y )Nr
   downr   r   s    r   	link_downzBsdNetOps.link_down   s    		:y&12r   N)gatewaysource_addressrouter   r   c                |    t        j                   dd|d| g       |r |dk7  rt        j                   dd||g       y y y )Nr   addz
-interface0.0.0.0changer   )r   r   r   r   s       r   	add_routezBsdNetOps.add_route   sD     			7E5,	BCw)+II(E73 ,7r   addressc                 2    t         j                  | ||      S )N)r   r   )r   r   )r   r   r   s      r   append_routezBsdNetOps.append_route   s    ""9GW"MMr   c                \    t        j                   dd|g|r|dk7  r
|gz          y g z          y )Nr   delr   r   )r   r   r   r   s       r   	del_routezBsdNetOps.del_route"   s<     			eW%#9(<yF	
BDF	
r   returnc                  x    t        j                   g d      \  } }| j                         d   j                         S )N)r   z-nvgetz	0.0.0.0/0)r   
splitlinesstrip)std_s     r   get_default_routezBsdNetOps.get_default_route/   s0    ?@Q~~#))++r   	broadcastc                 :    t        j                   d| |d|dg       y )Nr
   r*   aliasr   )r   r   r*   s      r   add_addrzBsdNetOps.add_addr4   s%    				
r   c                 6    t        j                   d| |dg       y )Nr
   z-aliasr   )r   r   s     r   del_addrzBsdNetOps.del_addrA   s    				
r   )__name__
__module____qualname__staticmethodstrr   r   r   r   r   r    r)   r-   r/    r   r   r   r      sZ   13 1 1 3S 3 3 
 "&(, #	
 !  N Nc NC N N 
 "&(,





 #	


 !

 

 ,s , , 

C 

# 

# 

 

 
C 
# 
 
r   r   )	typingr   cloudinit.net.netopsnetnetops	cloudinitr   NetOpsr   r5   r   r   <module>r<      s#     % % C
 C
r   