U
    w7e                     @   sR   d dl Zd dlmZ d dlmZmZ eeZG dd dej	j
jZdddZdS )	    N)log)subputilc                       s8   e Zd Zd fdd	Zdd ZdddZd	d
 Z  ZS )RendererNc                    s   t t|   d S N)superr   __init__)selfZconfig	__class__ 6/usr/lib/python3/dist-packages/cloudinit/net/netbsd.pyr      s    zRenderer.__init__c                 C   s   |   r*| dd | dd|    | j D ]T\}}t|tr4|dd |d }|d}|rx|d	| 7 }| d
| | q4d S )NdhcpcdZYESZdhcpcd_flags Zaddressz	 netmask netmaskmtuz mtu %dZ	ifconfig_)dhcp_interfacesset_rc_config_valuejoinZinterface_configurationsitems
isinstancedictget)r	   Zdevice_namevZ
net_configr   r   r   r   write_config   s     

zRenderer.write_configFc                 C   sF   |st d d S tjdddgdd |  rBtjdddgdd d S )Nz netbsd generate postcmd disabledservicenetworkZrestartT)Zcapturer   )LOGdebugr   r   )r	   runr   r   r   start_services   s    
zRenderer.start_servicesc                 C   s   |dkr|  d| d S )Nz0.0.0.0Zdefaultroute)r   )r	   r   r   Zgatewayr   r   r   	set_route%   s    zRenderer.set_route)N)F)__name__
__module____qualname__r   r   r    r!   __classcell__r   r   r
   r   r   
   s   
	r   c                 C   s   t  S r   )r   Z	is_NetBSD)targetr   r   r   	available*   s    r'   )N)Zcloudinit.net.bsdZ	cloudinitr   Zloggingr   r   Z	getLoggerr"   r   ZnetZbsdZBSDRendererr   r'   r   r   r   r   <module>   s
   
 