D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
lib
/
python3.9
/
site-packages
/
ipaplatform
/
base
/
__pycache__
/
Filename :
services.cpython-39.pyc
back
Copy
a ��iiJ � @ s� d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl m Z ddlmZ ddl mZ ddlmZ e�e�Zg d�Zd gd dgd dgd dgd�Zd ZG dd� de�ZG dd� d�ZG dd� de�Zddd�ZeZei �Zg d�ZdS )zj This base module contains default implementations of IPA interface for interacting with system services. � )�absolute_importN)�ipautil)�paths)�tasks)�Mapping) Z certmonger�dirsrvZhttpdZipaZkrb5kdcZdbusZnslcdZnscd�ntpdZportmapZrpcbindZkadminZsshdZautofsZrpcgssdZ rpcidmapdZpki_tomcatd�chronydZ domainnameZnamedZ ods_enforcerdZods_signerdZgssproxyz nfs-utilsZsssdZNetworkManagerzipa-custodiazipa-dnskeysyncdzipa-otpdzipa-ods-exporterzsystemd-resolvedZunboundi� i� i� )r zpki-tomcatd@pki-tomcat.servicez pki-tomcatzpki-tomcatdg�������?c @ s@ e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dS )� KnownServicesz� KnownServices is an abstract class factory that should give out instances of well-known platform services. Actual implementation must create these instances as its own attributes on first access (or instance creation) and cache them. c C s || _ d S �N��_KnownServices__d)�self�d� r �=/usr/lib/python3.9/site-packages/ipaplatform/base/services.py�__init__N s zKnownServices.__init__c C s | j | S r r )r �keyr r r �__getitem__Q s zKnownServices.__getitem__c C s t | j�S r )�iterr �r r r r �__iter__T s zKnownServices.__iter__c C s t | j�S r )�lenr r r r r �__len__W s zKnownServices.__len__c C s t �| j�S r )�sixZ itervaluesr r r r r �__call__Z s zKnownServices.__call__c C s, z| j | W S ty& t|��Y n0 d S r )r �KeyError�AttributeError)r �namer r r �__getattr__] s zKnownServices.__getattr__N) �__name__� __module__�__qualname__�__doc__r r r r r r r r r r r G s r c @ s� e Zd ZdZd%dd�Zd&dd�Zd'd d �Zd(dd�Zd)d d�Zd*dd�Z d+dd�Z dd� Zd,dd�Zd-dd�Z d.dd�Zd/dd�Zd0dd�Zd1dd �Zd2d!d"�Zd3d#d$�ZdS )4�PlatformServicez� PlatformService abstracts out external process running on the system which is possible to administer (start, stop, check status, etc). Nc C sB dd l }|| _|d ur|| _n |j| _tjdj| d�tdd� d S )Nr zC{s.__class__.__name__}('{s.service_name}', api=None) is deprecated.)�s� )� stacklevel)�ipalib�service_name�api�warnings�warn�format�RuntimeWarning)r r) r* r( r r r r k s ��zPlatformService.__init__� Tc C s� |sdS g }z:t tjd��}t�|�}W d � n1 s:0 Y W n tyX Y n0 | j|vrp|�| j� t tjd��}t�||� W d � n1 s�0 Y dS )z� When a service is started record the fact in a special file. This allows ipactl stop to always stop all services that have been started via ipa tools N�r�w) �openr � SVC_LIST_FILE�json�load� Exceptionr) �append�dump)r � instance_name�capture_output�wait�update_service_list�svc_list�fr r r �starty s , zPlatformService.startc C s� |sdS g }z:t tjd��}t�|�}W d � n1 s:0 Y W n tyX Y n0 | j|v rr|�| j� qZt tjd��}t�||� W d � n1 s�0 Y dS )zQ When a service is stopped remove it from the service list file. Nr0 r1 ) r2 r r3 r4 r5 r6 r) �remover8 )r r9 r: r<