o
    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__)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   r4   r   )cloudinit.net.bsd	cloudinitr   loggingr   r   	getLoggerr.   r'   netbsdBSDRendererr   r4   r   r   r   r   <module>   s   
 