Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/openstack/cloud/__pycache__/_compute.cpython-39.pyc
Ðазад
a t�h�% � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dlm Z d dlmZ d dlmZ d dl mZ d dl mZ d dl mZ G d d � d ej�ZdS )� N)�exc)�meta)� _normalize)�_utils)� exceptions)�proxy)�utilsc @ s e Zd Zdd� Zedd� �Zdd� Zd�d d �Ze� � dd� �Z d d� Zd�dd�Zd�dd�Z d�dd�Zd�dd�Zd�dd�Ze� � d�dd��Ze� � d�dd��Zdd� Zd d!� Zd"d#� Zd$d%� Zd�d&d'�Zd�d(d)�Zd*d+� Zd�d,d-�Zd�d.d/�Zd�d0d1�Zd�d2d3�Zd�d4d5�Zd�d6d7�Zd�d8d9�Z d:d;� Z!d<d=� Z"d�d>d?�Z#d�d@dA�Z$dBdC� Z%d�dEdF�Z&dGdH� Z'dIdJ� Z(dKdL� Z)dMdN� Z*e�+dOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_�d�dbdc��Z,ddde� Z-d�dfdg�Z.d�dhdi�Z/d�djdk�Z0dldm� Z1dndo� Z2d�dqdr�Z3dsdt� Z4d�dudv�Z5e�+dwdx�d�dydz��Z6g dfd{d|�Z7d}d~� Z8d�d�d��Z9d�d�� Z:d�d�� Z;d�d�� Z<d�d�� Z=d�d�� Z>d�d�� Z?d�d�� Z@i fd�d��ZAd�d�d��ZBi fd�d��ZCd�d�d��ZDd�d�d��ZEe�+dwdX�d�d�� �ZFd�d�� ZGd�d�� ZHd�d�� ZId�d�� ZJd�d�� ZKd�d�� ZLd�d�� ZMd�d�d��ZNd�d�� ZOd�d�� ZPd�d�� ZQdS )��ComputeCloudMixinc C s d | _ d| _t�� | _d S )Nr )�_servers� _servers_time� threading�Lock� _servers_lock��self� r ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/openstack/cloud/_compute.py�__init__$ s zComputeCloudMixin.__init__c C s | j �d�S )N�compute)�configZget_region_namer r r r �_compute_region) s z!ComputeCloudMixin._compute_regionc C s | j |dd�}|r|d S d S )NF�� get_extra�name)� get_flavor)r � flavor_id�flavorr r r �get_flavor_name. s z!ComputeCloudMixin.get_flavor_nameNTc C s` | j |d�}t|t�d�d�D ](}|d |kr|r>||d v r| S qt�dj||d���dS )a� Get a flavor based on amount of RAM available. Finds the flavor with the least amount of RAM that is at least as much as the specified amount. If `include` is given, further filter based on matching flavor name. :param int ram: Minimum amount of RAM. :param string include: If given, will return a flavor whose name contains this string as a substring. r �ram)�keyr z2Could not find a flavor with {ram} and '{include}')r �includeN)�list_flavors�sorted�operator� itemgetterr �OpenStackCloudException�format)r r r r �flavorsr r r r �get_flavor_by_ram4 s � � ��z#ComputeCloudMixin.get_flavor_by_ramc C s@ t � }tj| j�d�dd�}| �d|�D ]}|�|d � q(|S )Nz/extensionsz&Error fetching extension list for nova�� error_message� extensions�alias)�setr �_json_responser �get�_get_and_munchify�add)r r+ �data� extensionr r r �_nova_extensionsH s �z"ComputeCloudMixin._nova_extensionsc C s || � � v S �N)r4 )r Zextension_namer r r �_has_nova_extensionS s z%ComputeCloudMixin._has_nova_extensionc C s( | j t|t�r|nd d�}t�|||�S )N)�filters)� list_keypairs� isinstance�dictr �_filter_list)r � name_or_idr7 �keypairsr r r �search_keypairsV s �z!ComputeCloudMixin.search_keypairsc C s | j |d�}t�|||�S )Nr )r! r r; )r r<