U
    w7ep                     @   s@   d dl mZ d dlm  mZ d dlmZ G dd dejZdS )    )OptionalNsubpc                   @   s   e Zd ZeedddZeedddZedddeeee ee dd	d
ZeeeedddZ	edddeeee ee dddZ
eedddZeeeedddZeeedddZdS )	BsdNetOps	interfacec                 C   s   t  d| dg d S )NifconfigZupr   r    r	   A/usr/lib/python3/dist-packages/cloudinit/net/netops/bsd_netops.pylink_up   s    zBsdNetOps.link_upc                 C   s   t  d| dg d S )Nr   Zdownr   r   r	   r	   r
   	link_down   s    zBsdNetOps.link_downN)gatewaysource_addressr   router   r   c                C   s6   t  dd|d| g |r2|dkr2t  dd||g d S )Nr   addz
-interface0.0.0.0Zchanger   r   r	   r	   r
   	add_route   s
    
zBsdNetOps.add_router   addressr   c                 C   s   t j| ||dS )N)r   r   )r   r   r   r	   r	   r
   append_route   s    zBsdNetOps.append_router   r   r   r   c                C   s*   t  dd|g|r|dkr|gng   d S )Nr   delr   r   r   r	   r	   r
   	del_route"   s
    zBsdNetOps.del_route)returnc                  C   s&   t  ddddg\} }|  d  S )Nr   z-nvgetz	0.0.0.0/0)r   
splitlinesstrip)Zstd_r	   r	   r
   get_default_route/   s    zBsdNetOps.get_default_router   r   	broadcastc                 C   s   t  d| |d|dg d S )Nr   r"   aliasr   r!   r	   r	   r
   add_addr4   s    zBsdNetOps.add_addrr   r   c                 C   s   t  d| |dg d S )Nr   z-aliasr   r%   r	   r	   r
   del_addrA   s    zBsdNetOps.del_addr)__name__
__module____qualname__staticmethodstrr   r   r   r   r   r   r    r$   r&   r	   r	   r	   r
   r      s<   r   )	typingr   Zcloudinit.net.netopsZnetZnetopsZ	cloudinitr   ZNetOpsr   r	   r	   r	   r
   <module>   s   