File manager - Edit - /usr/lib/python3/dist-packages/uaclient/__pycache__/contract.cpython-310.pyc
Back
o =�xd�q � @ sP d dl Z d dlZd dlZd dlmZmZmZmZmZ d dl m Z mZmZm Z mZmZmZ d dlmZ d dlmZ d dlmZ dZdZdZd Zd ZdZdZd ZdZdZ dZ!ddddd�Z"e�#� Z$G dd� dej%�Z& d>dedee'ef dee'ef de(de(ddfdd�Z) d?ded ee'ef d!ee'ef de(de(deee(f fd"d#�Z*d$ej+de j,fd%d&�Z- d@d'ee' fd(d)�Z.dedee fd*d+�Z/ded,e'dee'ef fd-d.�Z0dede(fd/d0�Z1d1ee'e'f d2ee'e'f de2fd3d4�Z3 dAd5ee'ef d6e'd7e'd8ee' dee2ee'ef f f d9d:�Z4 dBd ee'ef d;ee' d8ee' ddfd<d=�Z5dS )C� N)�Any�Dict�List�Optional�Tuple)�clouds�event_logger� exceptions�messages� serviceclient�system�util)�_enabled_services)�UAConfig)�ATTACH_FAIL_DATE_FORMATz/v1/context/machines/tokenz3/v1/contracts/{contract}/context/machines/{machine}z /v1/resourcesz3/v1/resources/{resource}/context/machines/{machine}z/v1/clouds/{cloud_type}/tokenz3/v1/contracts/{contract}/machine-activity/{machine}z/v1/contractz/v1/magic-attach� � � � )�series_overrides�series�cloud�variantc @ s� e Zd ZdZejZeje j g d�d�d.dd��Zdee ef fdd �Zd e dee ef fdd�Zeje j g d�d�d ejfdd��Z d.de de dee dee ef fdd�Z d.de de dee defdd�Zdd� Zde dee ef fdd�Zdee ef fdd�Zde fdd �Z d.de de dee dee ef fd!d"�Z d.de de dee defd#d$�Zd%ee ef fd&d'�Zd(d)� Zd*d+� Zd.dee fd,d-�Z dS )/�UAContractClient�contract_url)r r r )�retry_sleepsNc C s~ | � � }|�dd�|�i� | �|�}| jt||d�\}}| jj�|� t j �� |�di ��d|�d��}| j� d|� |S )a} Requests machine attach to the provided machine_id. @param contract_token: Token string providing authentication to ContractBearer service endpoint. @param machine_id: Optional unique system machine id. When absent, contents of /etc/machine-id will be used. @return: Dict of the JSON response containing the machine-token. � Authorization� Bearer {})�data�headers�machineTokenInfo� machineId� machine-id)r �update�format�_get_platform_data�request_url�API_V1_ADD_CONTRACT_MACHINE�cfg�machine_token_file�writer �get_machine_id�cache_clear�get�write_cache)�self�contract_token� machine_idr r � machine_token�_headers� r4 �3/usr/lib/python3/dist-packages/uaclient/contract.py�add_contract_machine9 s � �z%UAContractClient.add_contract_machine�returnc C s | j t| �� d�\}}|S )z=Requests list of entitlements available to this machine type.)�query_params)r&