
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
\¼mev  ã               @   sL   d dl Z d dlZd dlZd dlmZmZ e jeƒZG dd„ dej	j
jƒZdS )é    N)ÚsubpÚutilc               @   sb   e Zd ZdZdgZddd„Zdd„ Zdd	„ Zedd
œe	e	dœdd„ƒZ
dd„ Zdd„ Zdd„ ZdS )ÚDistroz/etc/mynameZrcctlNc             C   s   t j| jƒS )N)r   Z	load_fileÚhostname_conf_fn)ÚselfÚfilenameÚdefault© r	   ú/usr/lib/python3.6/openbsd.pyÚ_read_hostname   s    zDistro._read_hostnamec             C   s   |d }t j| j|ƒ d S )NÚ
)r   Z
write_filer   )r   Zhostnamer   Zcontentr	   r	   r
   Ú_write_hostname   s    zDistro._write_hostnamec             C   s   dd||gS )NÚusermodz-Gr	   )r   Úmember_nameZ
group_namer	   r	   r
   Ú_get_add_member_to_group_cmd   s    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ÚrestartZcheck)r   r   r   r   r   Úreloadz
try-reloadZstatusT)Zcapturer   )Úinit_cmdÚlistr   )Úclsr   r   r   Z
extra_argsr   ZcmdsÚcmdr	   r	   r
   Úmanage_service   s    zDistro.manage_servicec             C   s@   yt j ddd|gƒ W n$ tk
r:   tjtd|ƒ ‚ Y nX d S )Nr   z-pÚ*zFailed to lock user %s)r   Ú	Exceptionr   ZlogexcÚLOG)r   Únamer	   r	   r
   Úlock_passwd1   s
    zDistro.lock_passwdc             C   s   d S )Nr	   )r   r"   r	   r	   r
   Úunlock_passwd8   s    zDistro.unlock_passwdc             C   s   t j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_environ)N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   ÚclassmethodÚstrr   r#   r$   r)   r	   r	   r	   r
   r      s   
r   )Zloggingr%   Zcloudinit.distros.netbsdZ	cloudinitr   r   Z	getLoggerr*   r!   ZdistrosZnetbsdZNetBSDr   r	   r	   r	   r
   Ú<module>   s
   
