o
    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defddZedefddZeddddeded	ee d
ee fddZededed	efddZ	eddddeded	ee d
ee fddZ
edefddZedededefddZededefddZdS )	BsdNetOps	interfacec                 C      t  d| dg d S )Nifconfigupr   r    r   A/usr/lib/python3/dist-packages/cloudinit/net/netops/bsd_netops.pylink_up      zBsdNetOps.link_upc                 C   r   )Nr   downr   r
   r   r   r   	link_down   r   zBsdNetOps.link_downN)gatewaysource_addressrouter   r   c                C   s>   t  dd|d| g |r|dkrt  dd||g d S d S d S )Nr   addz
-interface0.0.0.0changer   )r   r   r   r   r   r   r   	add_route   s   
zBsdNetOps.add_routeaddressc                 C   s   t j| ||dS )N)r   r   )r   r   )r   r   r   r   r   r   append_route   s   zBsdNetOps.append_routec                C   s*   t  dd|g|r|dkr|gng   d S )Nr   delr   r   )r   r   r   r   r   r   r   	del_route"   s
   zBsdNetOps.del_routereturnc                  C   s"   t  g d\} }|  d  S )N)r   z-nvgetz	0.0.0.0/0)r   
splitlinesstrip)std_r   r   r   get_default_route/   s   zBsdNetOps.get_default_route	broadcastc                 C   s   t  d| |d|dg d S )Nr   r$   aliasr   )r   r   r$   r   r   r   add_addr4   s   zBsdNetOps.add_addrc                 C   s   t  d| |dg d S )Nr   z-aliasr   )r   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      sJ    r   )	typingr   cloudinit.net.netopsnetnetops	cloudinitr   NetOpsr   r   r   r   r   <module>   s    