#!/usr/bin/python3 # -*- coding: utf-8 -*- """ Основной модуль SSH клиента для миграции 1С Объединяет базовые SSH операции, PostgreSQL и 1С кластер """ from .ssh_base import SSHBase from .postgresql import PostgreSQLOperations from .c1_cluster import C1ClusterOperations class ssh(SSHBase, PostgreSQLOperations, C1ClusterOperations): """ Класс SSH клиента с поддержкой PostgreSQL и 1С кластера Наследует функциональность от: - SSHBase: базовые SSH операции (connect, cmd, close) - PostgreSQLOperations: операции с PostgreSQL - C1ClusterOperations: операции с кластером 1С """ def __init__(self, hostname: str = "test", port: int = 22222, username: str = "root", pkey_file: str = "/root/.ssh/id_rsa", host_keys: str = "~/.ssh/known_hosts") -> None: """ Инициализация SSH клиента Args: hostname: Имя хоста или IP адрес port: Порт SSH (int) username: Имя пользователя pkey_file: Путь к приватному ключу host_keys: Путь к файлу known_hosts """ # Инициализируем базовый SSH класс SSHBase.__init__(self, hostname, port, username, pkey_file, host_keys) # Инициализируем модули операций PostgreSQLOperations.__init__(self, self) C1ClusterOperations.__init__(self, self, "", "", "") def set_c1_config(self, srv_1c: str, c1_claster_user: str, c1_claster_pass: str) -> None: """ Установка конфигурации кластера 1С Args: srv_1c: Имя LXC контейнера с 1С c1_claster_user: Пользователь кластера 1С c1_claster_pass: Пароль кластера 1С """ self.set_srv_1c(srv_1c) self.set_cluster_credentials(c1_claster_user, c1_claster_pass)