File: //lib/python3/dist-packages/uaclient/__pycache__/livepatch.cpython-310.pyc
o
    Uٵgh3  �                
   @   sV  d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm	Z	m
Z
 d dlmZm
Z
mZmZmZ d dlmZmZmZmZmZmZ d dlmZ d dlmZ dZd	Zd
ZdZe� � Z!e�"e�#e$��Z%ej&G dd
� d
ej'��Z(G dd� de�Z)G dd� de�Z*G dd� de�Z+G dd� de�Z,de	e+ fdd�Z-de	e. de	e( fdd�Z/G dd� dej0�Z1de	e( fdd�Z2d e.d!e.d"e.d#e.de
e3e	e3 f f
d$d%�Z4d e.d!e.d"e.d#e.d&e	e j  de	e( fd'd(�Z5edd)�de(fd*d+��Z6	d9d,e.d-e	ee7  ddfd.d/�Z8			d:d0e	e. d1e	e. d-e	ee7  ddfd2d3�Z9d4e.de	e. fd5d6�Z:de3fd7d8�Z;dS );�    N)�	lru_cache)�List�Optional�Tuple)�event_logger�
exceptions�messages�system�util)�
BoolDataValue�
DataObject�Field�IncorrectTypeError�StringDataValue�	data_list)�state_files)�
serviceclientz
http-proxyzhttps-proxyz/snap/bin/canonical-livepatchz/v1/api/kernels/supportedc                   @   s*   e Zd Ze� Ze� Ze� Ze� Ze� ZdS )�LivepatchSupportN)	�__name__�
__module__�__qualname__�object�	SUPPORTED�KERNEL_UPGRADE_REQUIRED�
KERNEL_EOL�UNSUPPORTED�UNKNOWN� r   r   �4/usr/lib/python3/dist-packages/uaclient/livepatch.pyr       s    
r   c                   @   sF   e Zd Zededdd�ededdd�gZdee dee	 fdd�Z
d	S )
�LivepatchPatchFixStatus�nameF�Name��required�dict_key�patched�Patchedc                 C   s   || _ || _d S �N)r    r%   )�selfr    r%   r   r   r   �__init__/   s   
z LivepatchPatchFixStatus.__init__N)r   r   r   r
   r   r   �fieldsr   �str�boolr)   r   r   r   r   r   )   s    ���r   c                   @   sd   e Zd Zededdd�edee�ddd�ededdd�gZdee	 dee
e  dee	 fd	d
�ZdS )�LivepatchPatchStatus�stateF�Stater"