File: //lib/python3/dist-packages/uaclient/__pycache__/status.cpython-310.pyc
o
�~cC` � @ s� d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZmZ d dl m
Z
mZmZm
Z
mZ d dlmZmZmZmZmZmZ d dlmZ d dlmZmZ d dlmZmZ d d lmZ d d
l m!Z!m"Z"m#Z#m$Z$ d dl%m&Z& e�'� Z(e�)e*�Z+dZ,d
Z-dZ.e$j/j0e&j1e$j/j0 e&j2 e$j3j0e&j4e$j3j0 e&j2 e$j5j0e&j6e$j5j0 e&j2 e$j7j0e&j6e$j7j0 e&j2 e!j8j0e&j1e!j8j0 e&j2 e!j9j0e&j6e!j9j0 e&j2 e,e&j1e, e&j2 e-e&j1e- e&j2 e.e&j1e. e&j2 i Z:dZ;dZ<dZ=dZ>i dd�dd�de�?� �dd�dd�dd�dd�dd�dg �de#j3j0�d ej@�d!i �d"g �d#d$d$d$g e$j5j0d%��d&d$d$d$g d'��d(d�ZAd)d*� ZBd+eeCe
f fd,d-�ZDd.ed+eeCe
f fd/d0�ZEd.ed+eeCe
f fd1d2�ZFd+eeCe
f fd3d4�ZGd+eeCe
f fd5d6�ZHdQd.ed7eId+eeCe
f fd8d9�ZJd:eeeCe
f d;eCd+eeCe
f fd<d=�ZK dQd>eCd7eId+eeeCe
f eLf fd?d@�ZMdAeCd+eCfdBdC�ZNdDeeeC d+eCfdEdF�ZO dRdGeeeCeCf dHe
eC d+eeC fdIdJ�ZPded+eCfdKdL�ZQd9eeCe
f d+eCfdMdN�ZRdOdP� ZSdS )S� N)�OrderedDict)�datetime�timezone)�Any�Dict�List�Optional�Tuple)�event_logger�
exceptions�messages�system�util�version)�UAConfig)�get_available_resources�get_contract_information)�ATTACH_FAIL_DATE_FORMAT�PRINT_WRAP_WIDTH)�entitlement_factory)�ContractStatus�UserFacingAvailability�UserFacingConfigStatus�UserFacingStatus)�TxtColor� essential�standard�advancedz({name: <17}{available: <11}{description}zJ{name: <17}{available: <11}{entitled: <11}{auto_enabled: <14}{description}z0SERVICE ENTITLED STATUS DESCRIPTIONz4{name: <17}{entitled: <19}{status: <19}{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�features�notices�contract� ��id�name�
created_at�products�tech_support_level�account�r. r- r/ �external_account_ids� simulatedc C s dd� | � � D �S )Nc S s$ g | ]}|j j|jj|jjd ��qS ))r. �reason_code�reason)�entitlementr. � named_msg�msg��.0�service� r>