Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/libcloud/compute/__pycache__/deployment.cpython-39.pyc
Ðазад
a q�hI) � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl Z ddl Z dd lmZm Z dd lmZ ddlmZ G dd � d e�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZdS )z; Provides generic deployment steps for machines post boot. � )�with_statement)�Union)�Optional)�List)�IO)�castN)� basestring�PY3)�Node)� BaseSSHClientc @ s e Zd ZdZdd� Zdd� ZdS )� Deploymentz* Base class for deployment tasks. c C s t d��dS )a Runs this deployment task on node using the client provided. :type node: :class:`Node` :keyword node: Node to operate one :type client: :class:`BaseSSHClient` :keyword client: Connected SSH client to use. :return: :class:`Node` z'run not implemented for this deploymentN)�NotImplementedError��self�node�client� r ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/libcloud/compute/deployment.py�run) s �zDeployment.runc C s6 t |t�s t|d�s td| ��t|d�r2|�� }|S )N�readz2%s argument must be a string or a file-like object)� isinstancer �hasattr� TypeErrorr )r � argument_name�argument_valuer r r �_get_string_value9 s �� zDeployment._get_string_valueN)�__name__� __module__�__qualname__�__doc__r r r r r r r $ s r c @ s e Zd ZdZdd� Zdd� ZdS )�SSHKeyDeploymentz2 Installs a public SSH Key onto a server. c C s | j d|d�| _dS )z� :type key: ``str`` or :class:`File` object :keyword key: Contents of the public key write or a file object which can be read. �key�r r N)r r! )r r! r r r �__init__J s �zSSHKeyDeployment.__init__c C s |j d| jdd� |S )zj Installs SSH key into ``.ssh/authorized_keys`` See also :class:`Deployment.run` z.ssh/authorized_keys�a)�contents�mode)�putr! r r r r r T s zSSHKeyDeployment.runN�r r r r r# r r r r r r E s r c @ s e Zd ZdZdd� Zdd� ZdS )�FileDeploymentz( Installs a file on the server. c C s || _ || _dS )z� :type source: ``str`` :keyword source: Local path of file to be installed :type target: ``str`` :keyword target: Path to install file on node N)�source�target)r r* r+ r r r r# d s zFileDeployment.__init__c C sj t tt�| j�j�dd� d�}t| jd��}|�� }W d � n1 sJ0 Y |j| j ||d� |S )zc Upload the file, retaining permissions. See also :class:`Deployment.run` � N� �rb��path�chmodr% ) �int�oct�os�statr* �st_mode�openr r'