/
var
/
opt
/
nydus
/
ops
/
customer_local_ops
/
control_panel
/
__pycache__
/
up file
home
� <�j�m � � � d dl m Z d dlmZmZmZmZ d dlZd dlZd dlZd dl Z d dl Z d dlZd dlm Z d dlmZmZ d dlmZmZmZmZmZmZmZmZmZmZ d dlmZmZ d dlm Z d d l!m"Z"m#Z# d d l$m%Z%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+ ejX e-� Z.dZ/ G d � dee� Z0 G d� dee0� Z1 G d� dee1� Z2 G d� dee1� Z3 G d� dee1� Z4 G d� dee1� Z5 G d� dee1� Z6 G d� dee0� Z7 G d� dee7� Z8 G d� d ee7� Z9y)!� )�datetime)�Dict�Any�List�TupleN)� ShortUUID)�OpType�ResourceType) � AlmaLinux8� AlmaLinux9�AlmaLinux10�Linux�CentOS�CentOS6�CentOS7�Debian�Debian8� Ubuntu1604)�CPanelException�OSCPanel)�random_password)� runCommand�run_uapi_command)�replace_line�edit_file_lines�create_file�replace_file_lines_multiple)�Retry�RETRY� c � � e Zd ZdZddgZdZdZej Z de eef dedefd �Z d ee dededeee eef f fd �Zdd�dedede eef defd�Zdedefd�Zdee dedeee f fd�Zdededefd�Zdd�dedede eef defd�Zd1d�Zdd�dede eef defd�Zdedefd�Zdedefd�Zdefd�Zdefd �Zdefd!�Zdefd"�Zdefd#�Zdefd$�Z defd%�Z!defd&�Z"d'ededeee eef f fd(�Z#dedefd)�Z$ e%jL d*� Z'd+Z(dd,�ded-edeee eef f fd.�Z)dedeee eef f fd/�Z*dedefd0�Z+y)2�LinuxCPanelz� CPanel Customer Local Ops for the Linux OS. All function names should contain 'cpanel' so as not to override the OS ops znydus-exznydus-ex-apiz*/etc/cpanel/local/ignore_outdated_servicesz-/var/cpanel/.application-locks/UpdateHostname�payload�args�returnc �� � t j d� d} t j t ddd�� }t d|� |j d� }|�'d }t j d|� t |d|z � t j d� | j dgd|� S # t $ rG}t j d t |� � d| j dt |� |� fcY d }~S d }~ww xY w)zlConfigures the mail transfer agent for cPanel :param payload: A dict containing input data z&LinuxCPanel.configure_mta_cpanel start�configure_mta_cpanel�defaultmailactionzdefaultmailaction=fail F��match�replace� firstword�/var/cpanel/cpanel.config� relay_addressNz/etc/exim.conf.localz+LinuxCPanel.configure_mta_cpanel writing %sa# @AUTH@ @BEGINACL@ @CONFIG@ @DIRECTOREND@ @DIRECTORMIDDLE@ @DIRECTORSTART@ @ENDACL@ @RETRYEND@ @RETRYSTART@ @REWRITE@ @ROUTEREND@ @ROUTERSTART@ send_to_smart_host: driver = manualroute route_list = !+local_domains %s transport = remote_smtp @TRANSPORTEND@ @TRANSPORTMIDDLE@ @TRANSPORTSTART@ z:cp_os_op LinuxCPanel configure_mta_cpanel result(fail): %s� z6LinuxCPanel.configure_mta_cpanel running buildeximconfz/scripts/buildeximconfzbuild exim config) �LOG�info� functools�partialr r �getr � Exception�error�str�build_result_dict�_run_uapi_command)�selfr# r$ �op_name�set_tgt�relay�exim_conf_path�exs �^/opt/nydus/tmp/pip-target-hb7welcc/lib/python/customer_local_ops/control_panel/linux_cpanel.pyr'