File: //lib/python3/dist-packages/uaclient/entitlements/__pycache__/livepatch.cpython-38.pyc
U
��Jh�7 � @ s� d dl Z d dlmZmZmZmZ d dlmZmZm Z m
Z
mZmZm
Z
mZmZ d dlmZmZ d dlmZ d dlmZ ddgZd d
d�Ze�� Ze �e�e��ZG dd
� d
e�Zdd� Z dS )� N)�Any�Dict�Optional�Tuple) �api�event_logger�
exceptions�http� livepatch�messages�snap�system�util)�EntitlementWithMessage�
UAEntitlement)�ApplicationStatus)�StaticAffordanceg �?g �?z)Invalid Auth-Token provided to livepatch.z2Your running kernel is not supported by Livepatch.)zUnknown Auth-Tokenzunsupported kernelc s2 e Zd ZejjZdZejZ ej
ZejZ
dZdZdZdZeeedf d�dd��Zeeedf d�dd ��Zed�d
d�Zed�dd
�Zejed�dd�Zd ejeeed�dd�Zejd�dd�Z ee!e"ej# f d�dd�Z$eee"ej# f d�dd�Z%dd� Z&d!e'e(e)f e'e(e)f eed�� fdd�
Z*� Z+S )"�LivepatchEntitlementr
FT.)�returnc C s0 ddl m} ddlm} t|tj�t|tj�fS )Nr ��FIPSEntitlement)�RealtimeKernelEntitlement)�uaclient.entitlements.fipsr Zuaclient.entitlements.realtimer r r ZLIVEPATCH_INVALIDATES_FIPSZREALTIME_LIVEPATCH_INCOMPATIBLE)�selfr r � r �A/usr/lib/python3/dist-packages/uaclient/entitlements/livepatch.py�incompatible_services, s ���z*LivepatchEntitlement.incompatible_servicesc s\ ddl m} || jd�}t|�� d tjk�� tjj | j
d�dd� dftj� fdd�dffS ) Nr r )�cfg)�titlec S s t �� pt �� dkS )NZwsl)r
�is_containerZ
get_virt_typer r r r �<lambda>K s z9LivepatchEntitlement.static_affordances.<locals>.<lambda>Fc s � S �Nr r �Zis_fips_enabledr r r Q � )r r r �bool�application_statusr �ENABLEDr Z"SERVICE_ERROR_INSTALL_ON_CONTAINER�formatr Z!LIVEPATCH_ERROR_WHEN_FIPS_ENABLED)r r Zfips_entr r"