File: //lib/python3/dist-packages/uaclient/__pycache__/contract.cpython-310.pyc
o
    ��gW�  �                   @   s�  d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
 d dlm  m
Z d dlmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlm Z  d d	l!m"Z"m#Z# d d
l$m%Z% d dl&m'Z' dZ(d
Z)d
Z*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3ddddd�Z4e�5� Z6e�7e�8e9��Z:edddg�Z;G dd� dej<�Z=G dd � d e%j>�Z?d!e@fd"d#�ZA	$dKd%ed&eeBef d'eeBef d(eCd)eCd*dfd+d,�ZD	-	$dLd%ed.eeBef d/eeBef d(eCd)eCd*e
eeCf fd0d1�ZEd2ejFd*ejGfd3d4�ZHd%efd5d6�ZId%ed*ee fd7d8�ZJd%ed9eBd*eeBef fd:d;�ZKd<eeBeBf d=eeBeBf d*eLfd>d?�ZM	dMd@eeBef dAeBdBeBde	eB d*eeLeeBef f f
dCdD�ZN		dNd.eeBef dEe	eB de	eB d*dfdFdG�ZOd%edHeeBef d*ee; fdIdJ�ZPdS )O�    N)�
namedtuple)�Any�Dict�List�Optional�Tuple)	�
data_types�event_logger�
exceptions�http�messages�secret_manager�system�util�version)�_enabled_services)�_is_attached)�UAConfig)�ATTACH_FAIL_DATE_FORMAT)�attachment_data_file�machine_id_file)�
serviceclient)�get_user_or_root_log_file_pathz/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-attachz?/v1/contracts/{contract}/context/machines/{machine}/guest-token�   �   �   �   )�series_overrides�series�cloud�variant�EnableByDefaultService�namer    c                   @   s�  e Zd Zejdejdd�ejdejdd�ejdejdd�ejdejdd�ejdejdd�ejdejdd�ejd	ejdd�ejd
ejdd�ejdejdd�ejdejdd�ejd
ejdd�ejdejdd�ejdejdd�ejdejdd�gZ														ddee dee dee dee dee dee d	ee d
ee dee dee d
ee dee dee dee fdd�Z	dS )�CPUTypeData�cpuinfo_cpuF)�required�cpuinfo_cpu_architecture�cpuinfo_cpu_family�cpuinfo_cpu_implementer�cpuinfo_cpu_part�cpuinfo_cpu_revision�cpuinfo_cpu_variant�
cpuinfo_model�cpuinfo_model_name�cpuinfo_stepping�cpuinfo_vendor_id�"sys_firmware_devicetree_base_model�
sysinfo_model�sysinfo_typeNc                 C   sX   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|
| _|| _
d S �N�r$   r&