!V1f ddlZddlZddlmZmZmZmZmZddlm Z m Z m Z m Z ddl mZddlmZddlmZddlmZmZddlmZdd lmZmZmZmZmZmZmZgd Z d Z!Gd d eZ"GddeeZ#de$fdZ%de$dee&ee&ee&ffdee$ee jNffdZ(deejfdZ)de#fdZ*dede#fdZ+edde+dZ,y)N)DictListOptionalTupleUnion)apt exceptionsmessagessystem) APIEndpoint)AdditionalInfo)UnattendedUpgradesError)get_apt_config_keysget_apt_config_values)UAConfig) BoolDataValue DataObjectDatetimeDataValueField IntDataValueStringDataValue data_list)APT::Periodic::Enable#APT::Periodic::Update-Package-Lists!APT::Periodic::Unattended-Upgrade#Unattended-Upgrade::Allowed-Originsz#/var/lib/apt/periodic/upgrade-stampc@eZdZedeedegZdedefdZy) UnattendedUpgradesDisabledReasonmsgcodec ||_||_yNrr )selfrr s N/usr/lib/python3/dist-packages/uaclient/api/u/unattended_upgrades/status/v1.py__init__z)UnattendedUpgradesDisabledReason.__init__%s N)__name__ __module__ __qualname__rrfieldsstrr&r'r%rrs0 e_% fo&F Csr'rceZdZedeedeedeedeedeeedeeded ed e d gZ de de de de de ede deed eej fd Zy ) UnattendedUpgradesStatusResultsystemd_apt_timer_enabledapt_periodic_job_enabled$package_lists_refresh_frequency_days"unattended_upgrades_frequency_days#unattended_upgrades_allowed_originsunattended_upgrades_running#unattended_upgrades_disabled_reasonF)requiredunattended_upgrades_last_runct||_||_||_||_||_||_||_||_yr")r0r1r2r3r4r5r6r8) r$r0r1r2r3r4r5r6r8s r%r&z'UnattendedUpgradesStatusResult.__init__?s[*C&(@% 0 1 / / 0 0,G( / 0-I)r'N)r(r)r*rrrrrrrr+boolintrr,rdatetimer&r-r'r%r/r/*s )=9 (-8 4lC 2LA 1 o &  +]; 1 ,  *,= F(I$(I#' I /2 I -0 I.2#YI&*I.6 ,. I'/x/@/@&AIr'r/returnc tjd}tjd}|xr|}|S#tj$r}t t |d}~wwxYw)Nzapt-daily.timerzapt-daily-upgrade.timer) error_msg)r is_systemd_unit_activer ProcessExecutionErrorrr,)apt_daily_job_enabledapt_daily_upgrade_job_enabledr0es r%_get_apt_daily_job_statusrE_sp 8 & = = ! )/(E(E %) % " C&C " %$  + +8%A778s04A!AA!r0unattended_upgrades_cfgc|sdtjfS|jD]e\}}|s$dtjj |fcSt |t s=|dk(sCdtjj |fcSy)NF)cfg_name0)TN)r (UNATTENDED_UPGRADES_SYSTEMD_JOB_DISABLEDitems(UNATTENDED_UPGRADES_CFG_LIST_VALUE_EMPTYformat isinstancer,(UNATTENDED_UPGRADES_CFG_VALUE_TURNED_OFF)r0rFkeyvalues r%_is_unattended_upgrades_runningrRps %xHHII-335 UAAHH I  eS !eslAAHH I  r'c tjjt}t j j |S#t$rYywxYwr")ospathgetctimeUNATTENDED_UPGRADES_STAMP_PATHFileNotFoundErrorr< fromtimestamp)creation_epochs r%!_get_unattended_upgrades_last_runr[sI))*HI    * *> :: s#A AAc(ttSr")_statusrr-r'r%statusr^s 8: r'cfgc tjdsNtddddgttj j tj jddSt}t}ttttdz}|dxsd|d<t||\}}|r"t|j |j}nd}t|t|j!dd dk(t#|j!d dt#|j!d dt%|j!d xsg|||}d |i|_|S)Nzunattended-upgradesFrr#)r0r1r2r3r4r6r5r8zUnattended-Upgrader1rrr raw_config)r is_installedr/rr UNATTENDED_UPGRADES_UNINSTALLEDrnamerEr[rsetUNATTENDED_UPGRADES_CONFIG_KEYSrrRr,getr;listmeta)r_r0r8rFr5disabled_reasonr6unattended_upgrades_results r%r]r]s   1 2-&+%*12/0020P<<@@==BB1).)-  !: ;#D#F 3 +!"67 8  78?C34 (!#: # .N## %%/ + /3+!?";!$ # ' '(? D"  ".1 # ' '5q . ,/ # ' '3Q , -1 # ' '(M N - 0$?%A1"4(45L&M# %%r'v1UnattendedUpgradesStatus)versionrffn options_cls)-r<rTtypingrrrrruaclientrr r r uaclient.api.apir uaclient.api.data_typesr uaclient.api.exceptionsr uaclient.aptrruaclient.configruaclient.data_typesrrrrrrrrhrWrr/r:rEr, NamedMessagerRr[r^r]endpointr-r'r%r}s 5566(2;C$#"Gz2IZ2Ij%4%"#!#uS$s)^'<"<= 4(//0 014;8H4E4E+F;.L&L&<L&^   #  r'