o
    w7e
                     @   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dedee fddZeddede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 )Iproute2N	interfacefamilyc                 C   .   t  dg|r
d|gng  ddd| dg  d S )Nip-familylinksetdevupr   r   r    r   ?/usr/lib/python3/dist-packages/cloudinit/net/netops/iproute2.pylink_up      zIproute2.link_upc                 C   r   )Nr	   r
   r   r   r   downr   r   r   r   r   	link_down   r   zIproute2.link_down)gatewaysource_addressrouter   r   c                C   H   t  dddd|g|r|dkrd|gng  d| g |rd|gng   d S )	Nr	   -4r   add0.0.0.0viar   srcr   )r   r   r   r   r   r   r   	add_route   s   zIproute2.add_routeaddressc                 C   s8   t  dddd|g|r|dkrd|gng  d| g  d S )Nr	   r   r   appendr   r   r   r   )r   r    r   r   r   r   append_route*   s   zIproute2.append_routec                C   r   )	Nr	   r   r   delr   r   r   r   r   )r   r    r   r   r   r   r   	del_route2   s   zIproute2.del_routereturnc                   C   s   t  g djS )N)r	   r   showz	0.0.0.0/0)r   stdoutr   r   r   r   get_default_routeA   s
   zIproute2.get_default_route	broadcastc                 C   s*   t j ddddd|d|d| g
dd	id
 d S )Nr	   r
   inetaddrr   r)   r   LANGC)
update_envr   )r   r    r)   r   r   r   add_addrG   s   
zIproute2.add_addrc              
   C   s   t  ddddd|d| g d S )Nr	   r
   r*   r+   r#   r   r   )r   r    r   r   r   del_addrY   s   zIproute2.del_addr)N)__name__
__module____qualname__staticmethodstrr   r   r   r   r"   r$   r(   r/   r0   r   r   r   r   r      sJ    r   )	typingr   cloudinit.net.netopsnetnetops	cloudinitr   NetOpsr   r   r   r   r   <module>   s    