OwlCyberSecurity - MANAGER
Edit File: security_status.cpython-38.pyc
U ��g�h � @ s� d dl mZ d dlmZmZ d dlmZ d dlmZ d dlm Z d dl mZmZm Z mZmZ d dlZd dlmZmZmZmZ d d lmZ d d lmZ d dlmZmZmZmZmZ d dl m!Z! d d l"m#Z#m$Z$ d dl%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z. dZ/G dd� de�Z0dd� Z1edd�dd� �Z2edeej3 f d�dd�Z4ej3ej5e6d�dd�Z7edd�e6e6e8d�d d!��Z9e6e e6ef ej:e6d"�d#d$�Z;eej3 ee6eeej:e6f f d%�d&d'�Z<e!e e6ef d(�d)d*�Z=ee e6ef d�d+d,�Z>ee6eeej:e6f f e e6ef ee e6ef d-�d.d/�Z?e!e e6ef d(�d0d1�Z@dKee6eej3 f e6e8dd4�d5d6�ZAd7d8� ZBd9d:� ZCe6e6e'e&eDeDe8d;�d<d=�ZEd>d?� ZFe!d@�dAdB�ZGdCdD� ZHdEdF� ZIdGdH� ZJdIdJ� ZKdS )L� )�defaultdict)�datetime�timezone)�Enum)� lru_cache)�choice)�Any�DefaultDict�Dict�List�TupleN)� exceptions� livepatch�messages�util)�_reboot_required)�_is_attached)�PreserveAptCfg�get_apt_cache_datetime�get_apt_pkg_cache�get_esm_apt_pkg_cache�get_pkg_candidate_version)�UAConfig)�ESMAppsEntitlement�ESMInfraEntitlement)�ApplicabilityStatus�ApplicationStatus�ContractStatus)�get_distro_info�get_kernel_info�get_release_info�is_current_series_lts�is_supported)� esm-infra�esm-appsc @ s$ e Zd ZdZdZdZdZdZdZdS )�UpdateStatusz2Represents the availability of a security package.Zupgrade_availableZupgrade_available_not_preferredZpending_attachZpending_enableZupgrade_unavailableN) �__name__� __module__�__qualname__�__doc__� AVAILABLE�AVAILABLE_NOT_PREFERRED� UNATTACHED�NOT_ENABLED�UNAVAILABLE� r/ r/ �:/usr/lib/python3/dist-packages/uaclient/security_status.pyr% ( s r% c C s t t�| �� d S )N)�printr Zcreate_package_list_str)�packagesr/ r/ r0 �print_package_list1 s r3 )�maxsizec C sR t � j} dd�| �fddd�| �fddd�| �fd dd �| �fddd�| �fd iS )N�Ubuntuz{}-security�standard-securityZ UbuntuESMAppsz{}-apps-securityr$ Z UbuntuESMz{}-infra-securityr# z{}-apps-updatesz{}-infra-updates)r �series�format)r7 r/ r/ r0 �%get_origin_information_to_service_map5 s �r9 �str)�returnc C s` t t�} tt��F}dd� |jD �}|| d<