o
    w7e                     @   sP   d dl Z 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S )    N)log)subputilc                   @   sd   e Zd ZdZdgZdddZdd Zdd	 Zedd
de	de	fddZ
dd Zdd Zdd ZdS )Distroz/etc/mynamercctlNc                 C   s   t | jS N)r   	load_filehostname_conf_fn)selffilenamedefault r   ;/usr/lib/python3/dist-packages/cloudinit/distros/openbsd.py_read_hostname      zDistro._read_hostnamec                 C   s   |d }t | j| d S )N
)r   
write_filer	   )r
   hostnamer   contentr   r   r   _write_hostname   s   zDistro._write_hostnamec                 C   s   dd||gS )Nusermodz-Gr   )r
   member_name
group_namer   r   r   _get_add_member_to_group_cmd   r   z#Distro._get_add_member_to_group_cmd)rcsactionservicec             	   G   s`   | j }d|gd|gd|gd|gd|gd|gd|gd|gd}t|t||  }tj|d|d	S )
z
        Perform the requested action on a service. This handles OpenBSD's
        'rcctl'.
        May raise ProcessExecutionError
        stopstartenabledisablerestartcheck)r   r   r   r    r!   reloadz
try-reloadstatusT)capturer   )init_cmdlistr   )clsr   r   r   
extra_argsr&   cmdscmdr   r   r   manage_service   s   
zDistro.manage_servicec                 C   s8   zt  ddd|g W d S  ty   ttd|  w )Nr   z-p*zFailed to lock user %s)r   	Exceptionr   logexcLOGr
   namer   r   r   lock_passwd1   s   zDistro.lock_passwdc                 C   s   d S r   r   r1   r   r   r   unlock_passwd8   s   zDistro.unlock_passwdc                 C   s   t j }|S )z:Return env vars used in OpenBSD package_command operations)osenvironcopy)r
   er   r   r   _get_pkg_cmd_environ;   s   
zDistro._get_pkg_cmd_environr   )__name__
__module____qualname__r	   r&   r   r   r   classmethodstrr,   r3   r4   r9   r   r   r   r   r      s    
r   )r5   cloudinit.distros.netbsd	cloudinitr   loggingr   r   	getLoggerr:   r0   distrosnetbsdNetBSDr   r   r   r   r   <module>   s   
