| Current Path : /lib/python3/dist-packages/cloudinit/distros/__pycache__/ |
| Current File : //lib/python3/dist-packages/cloudinit/distros/__pycache__/freebsd.cpython-38.pyc |
U
�Ad� � @ s| d dl Z d dlZd dlmZ d dlZd dlmZ d dlmZm Z d dl
mZ d dlm
Z
e�e�ZG dd� dejjj�ZdS ) � N)�StringIO)�log)�subp�util)�FreeBSDNetworking)�PER_INSTANCEc @ s� e Zd ZdZeZdZdZdZdZ dddgZ
d d
gZd dgZd dgZ
d d
gZdZdZeed�dd�Zdd� Zdd� Zdd� Zd%dd�Zdd� Zd&dd �Zd!d"� Zd#d$� ZdS )'�DistrozY
Distro subclass for FreeBSD.
(N.B. DragonFlyBSD inherits from this class.)
z/usr/local/libz/etc/login.confz/etc/login.conf.origz,/usr/local/etc/sudoers.d/90-cloud-init-users�pw�group�add�pkg�install�remove�updateZupgradeTz /usr/home)�action�servicec C s^ | j }|dg|dg|dg|dg|dg|dg|dg|dgd�}t|�t|| � }tj|dd �S )
a
Perform the requested action on a service. This handles FreeBSD's
'service' case. The FreeBSD 'service' is closer in features to
'systemctl' than SysV init's 'service', so we override it.
May raise ProcessExecutionError
�stop�start�enable�disable�restart�status)r r r r r �reloadz
try-reloadr T)Zcapture)�init_cmd�listr )�selfr r r Zcmds�cmd� r �;/usr/lib/python3/dist-packages/cloudinit/distros/freebsd.py�manage_service( s �
zDistro.manage_servicec C s ddd|d|gS )Nr �usermod�-n�-Gr )r �member_nameZ
group_namer r r �_get_add_member_to_group_cmd= s z#Distro._get_add_member_to_group_cmdc
K s� t �|�rt�d|� dS ddd|g}ddd|g}dddd d
ddd
�}dddd�}|�� D ]b\}}||kr�|r�t|ttf�r�|�|| t|�g� qZ||krZ|rZ|� || � |� || � qZd|ks�d|kr�|� d� |� d� n@|� dj
| j|d�� |� d� |� dj
| j|d�� |� d� t�d|� ztj||d� W n& t
k
�rh t �td|� � Y nX |�dd �} | d k �r�| j|| dd� d S )Nz!User %s already exists, skipping.Fr Zuseraddr! z-dz-cz-gr"