
    }f                         d dl Z d dlZd dlmZmZ  e j
                  e      Z G d dej                  j                  j                        ZddZy)    N)subputilc                   4     e Zd Zd fd	Zd ZddZd Z xZS )Rendererc                 *    t         t        |           y N)superr   __init__)selfconfig	__class__s     6/usr/lib/python3/dist-packages/cloudinit/net/netbsd.pyr
   zRenderer.__init__   s    h&(    c                    | j                         rA| j                  dd       | j                  ddj                  | j                                      | j                  j	                         D ]l  \  }}t        |t              s|j                  d      dz   |j                  d      z   }|j                  d      }|r|d	|z  z  }| j                  d
|z   |       n y )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   s        r   write_configzRenderer.write_config   s    !$$Xu5$$)=)=)? @ #;;AAC 	PNK!T"UU9-;aeeI>NN
eeEl)c/1J(({)BJO	Pr   c                     |st         j                  d       y t        j                  g dd       | j                         rt        j                  g dd       y y )Nz netbsd generate postcmd disabled)servicenetworkrestartT)capture)r&   r   r(   )LOGdebugr   r   )r   runs     r   start_serviceszRenderer.start_services   sD    II89		3TB!II6E "r   c                 4    |dk(  r| j                  d|       y y )Nz0.0.0.0defaultroute)r   )r   r'   r   gateways       r   	set_routezRenderer.set_route&   s    i$$^W=  r   r   )F)__name__
__module____qualname__r
   r$   r-   r1   __classcell__)r   s   @r   r   r      s    )PF>r   r   c                 *    t        j                         S r   )r   	is_NetBSD)targets    r   	availabler9   +   s    >>r   r   )loggingcloudinit.net.bsd	cloudinitr   r   	getLoggerr2   r*   netbsdBSDRendererr   r9    r   r   <module>rB      sD       g!>y}}  ,, >@r   