o
    ¦®ØfY  ã                   @   sF   d dl Z d dlmZmZ d dlmZ d dlmZ G dd„ dejƒZdS )é    N)ÚPREFERRED_NTP_CLIENTSÚdebian)ÚSnap)ÚCLOUDINIT_NETPLAN_FILEc                       s6   e Zd Z‡ fdd„Zd‡ fdd„	Zedd„ ƒZ‡  ZS )	ÚDistroc                    sd   t ƒ  |||¡ dtdœ| _| jd tjdœ| jd tjddœdœ| _t| jƒ| _	| j
 | j	¡ d S )Nz+/etc/network/interfaces.d/50-cloud-init.cfg)ÚeniÚnetplanr   )Úeni_pathÚ
eni_headerr   T)Únetplan_pathÚnetplan_headerÚpostcmds)ÚsuperÚ__init__r   Únetwork_conf_fnr   ÚNETWORK_FILE_HEADERÚrenderer_configsr   Ú_runnerÚsnapÚpackage_managersÚappend)ÚselfÚnameÚcfgÚpaths©Ú	__class__© ú:/usr/lib/python3/dist-packages/cloudinit/distros/ubuntu.pyr      s   þþýûzDistro.__init__Nc                    s,   t ƒ  |||¡ | j ¡ r| j ¡  d S d S )N)r   Úpackage_commandr   Ú	availableÚupgrade_packages)r   ÚcommandÚargsÚpkgsr   r   r   r   )   s   
ÿzDistro.package_commandc                 C   s   | j s	t t¡| _ | j S )z5The preferred ntp client is dependent on the version.)Ú_preferred_ntp_clientsÚcopyÚdeepcopyr   )r   r   r   r   Úpreferred_ntp_clients.   s   zDistro.preferred_ntp_clients)NN)Ú__name__Ú
__module__Ú__qualname__r   r   Úpropertyr(   Ú__classcell__r   r   r   r   r      s
    r   )	r&   Úcloudinit.distrosr   r   Ú)cloudinit.distros.package_management.snapr   Úcloudinit.net.netplanr   r   r   r   r   r   Ú<module>   s
   