o
    f                     @   sN   d dl Z d dl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)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__)self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rD|dd |d }|d}|r<|d	| 7 }| d
| | qd S )NdhcpcdYESdhcpcd_flags addressz	 netmask netmaskmtuz mtu %d	ifconfig_)dhcp_interfacesset_rc_config_valuejoininterface_configurationsitems
isinstancedictget)r   device_namev
net_configr   r   r   r   write_config   s   

zRenderer.write_configFc                 C   sF   |s	t d d S tjg ddd |  r!tjg ddd d S d S )Nz netbsd generate postcmd disabled)servicenetworkrestartT)capture)r"   r   r$   )LOGdebugr   r   )r   runr   r   r   start_services   s   
zRenderer.start_servicesc                 C   s   |dkr|  d| d S d S )Nz0.0.0.0defaultroute)r   )r   r#   r   gatewayr   r   r   	set_route&   s   zRenderer.set_router   )F)__name__
__module____qualname__r   r!   r)   r,   __classcell__r   r   r
   r   r      s
    
	r   c                 C   s   t  S r   )r   	is_NetBSD)targetr   r   r   	available+   s   r3   r   )loggingcloudinit.net.bsd	cloudinitr   r   	getLoggerr-   r&   netbsdBSDRendererr   r3   r   r   r   r   <module>   s   
 