File: //usr/lib/python3/dist-packages/uaclient/__pycache__/status.cpython-310.pyc
o
nHJe�v � @ s8 d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZ d dlm Z m
Z
mZmZm
Z
d dlmZmZmZmZmZmZ d dlmZ d dlmZmZ d dlmZmZ d d lmZmZ d d
l m!Z! d dl"m#Z#m$Z$m%Z%m&Z& d dl'm(Z(m)Z) d d
l*m+Z+ d dl,m-Z- e�.� Z/e�0e�1e2��Z3dZ4dZ5dZ6e&j7j8e-j9ej: e-j; e&j<j8e-j=ej> e-j; e&j?j8e-j@ejA e-j; e&jBj8e-j@ejC e-j; e&jDj8e-jEejF e-j; e#jGj8e-j9ejH e-j; e#jIj8e-j@ejJ e-j; e4e-j9ejK e-j; e5e-j9ejL e-j; e6e-j9ejM e-j; i
ZNdZOdZPdjQejRejSejTejUd�ZVdZWdZXi dd�dd�de�Y� �dd�dd�d d�d!d�d"d�d#g �d$e%j<j8�d%ejZ�d&i �d'g �d(d)d)d)g e&j?j8d*��d+d)d)d)g d,��d-d�Z[d.d/� Z\d0e
e]e f fd1d2�Z^d3ed0e
e]e f fd4d5�Z_d3ed0e
e]e f fd6d7�Z`d0e
e]e f fd8d9�Zad0e
e]e f fd:d;�ZbdVd3ed<ecd0e
e]e f fd=d>�Zdd?ee
e]e f d@e]d0e
e]e f fdAdB�Ze dVdCe]d<ecd0e
e
e]e f eff fdDdE�ZgdFe]d0e]fdGdH�ZhdIeee] d0e]fdJdK�Zi dWdLee
e]e]f dMee] d0ee] fdNdO�Zjd!ee d0e]fdPdQ�ZkdVd>e
e]e f d<ecd0e]fdRdS�ZldTdU� ZmdS )X� N)�OrderedDict)�datetime�timezone)�Any�Dict�List�Optional�Tuple)�event_logger�
exceptions� livepatch�messages�util�version)�_is_attached)�UA_CONFIGURABLE_KEYS�UAConfig)�get_available_resources�get_contract_information)�ATTACH_FAIL_DATE_FORMAT�PRINT_WRAP_WIDTH)�entitlement_factory)�ContractStatus�UserFacingAvailability�UserFacingConfigStatus�UserFacingStatus)�notices�state_files)�Notice)�TxtColor� essential�standard�advancedz({name: <17}{available: <11}{description}zJ{name: <17}{available: <11}{entitled: <11}{auto_enabled: <16}{description}z4{name: <17}{entitled: <10}{status: <13}{description}��name�entitled�status�descriptionz4{name: <17}{entitled: <19}{status: <22}{description}z={marker} {name: <15}{entitled: <19}{status: <22}{description}�_doczUContent provided in json response is currently considered Experimental and may change�_schema_versionz0.1r �
machine_id�attachedF� effective�expires�origin�services�execution_status�execution_details�featuresr �contract� ��idr$ �
created_at�products�tech_support_level�account�r$ r6 r7 �external_account_ids� simulatedc C s dd� | � � D �S )Nc S s4 g | ]}|j js|j jn|j j|jj|jjd ��qS ))r$ �reason_code�reason)�entitlement�
is_variantr$ �variant_name� named_msg�msg��.0�service� rH �1/usr/lib/python3/dist-packages/uaclient/status.py�
<listcomp>� s �
���z,_get_blocked_by_services.<locals>.<listcomp>)�blocking_incompatible_services)�entrH rH rI �_get_blocked_by_services� s �rM �returnc
s� d }d}| � � }| �� }| j�v rdnd}i }|tjkr tj} n=| j�v r.tj} �| j }n/| �� \} }
| tj krA|
j|
j
d�}n|
rF|
j
}| tjkrMd}| jr]� �fdd�| j�� D �}t
| �}| j| j|j| j|||||d� }| jsx||d<