
    x[h                     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                   J   e Zd Zededej                  fd       Zededej                  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dedede	e   fd       Zededefd       Zy)	BsdNetOps	interfacereturnc                 2    t        j                   d| dg      S )Nifconfigupr   r   s    A/usr/lib/python3/dist-packages/cloudinit/net/netops/bsd_netops.pylink_upzBsdNetOps.link_up   s    yy*i677    c                 2    t        j                   d| dg      S )Nr   downr   r   s    r   	link_downzBsdNetOps.link_down   s    yy*i899r   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   c                  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                 L    g }|rd|g}t        j                   d| |g|d       y )Nr*   r   aliasr   )r   r   r*   broadcast_argss       r   add_addrzBsdNetOps.add_addr4   sD     )95N		  	
 	
r   c                 6    t        j                   d| |dg       y )Nr   z-aliasr   )r   r   s     r   del_addrzBsdNetOps.del_addrE   s    				
r   )N)__name__
__module____qualname__staticmethodstrr   
SubpResultr   r   r   r   r   r!   r)   r.   r0    r   r   r   r      sz   83 84?? 8 8 :S :T__ : : 
 "&(, #	
 !  N Nc NC N N 
 "&(,





 #	


 !

 

 ,s , , AE

!$
19#
 
  
C 
# 
 
r   r   )	typingr   cloudinit.net.netopsnetnetops	cloudinitr   NetOpsr   r7   r   r   <module>r>      s#     % % G
 G
r   