Hcf+ ddlZddlmZmZddlmZmZmZmZm Z ddl m Z m Z m Z ddlmZddlmZddlmZddlmZdd lmZdd lmZmZmZmZmZej<e j>e Z!Gd d eZ"Gd deeZ#dedee$fdZ% dde"dee de#fdZ& dde"dedee de#fdZ'edde'e"dZ(y)N)ListOptional) entitlementslockmessagesstatusutil)AbstractProgressProgressWrapper exceptions) APIEndpoint)AdditionalInfo)_enabled_services) _is_attached)UAConfig) BoolDataValue DataObjectFieldStringDataValue data_listcHeZdZedeededgZdddedefdZ y)DisableOptionsservicepurgeF)rc ||_||_yN)rr)selfrrs H/usr/lib/python3/dist-packages/uaclient/api/u/pro/services/disable/v1.py__init__zDisableOptions.__init__s  N) __name__ __module__ __qualname__rrrfieldsstrboolrr rrrs7 i) g}e,F 7<3tr rc>eZdZedeegZdeefdZ y) DisableResultdisabledc||_yrr*)rr*s rrzDisableResult.__init__&s   r N) r!r"r#rrrr$rr%rr'r rr)r)!s( j)O45F!DI!r r)cfgreturncft|jDcgc]}|jc}Scc}wr)renabled_servicesname)r-ss r_enabled_services_namesr3*s%-c2CC DqAFF DD Ds.optionsprogress_objectc.t|t|S)N)r5)_disabler)r4r5s rdisabler8.s GXZ IIr c "t|}tjstjt |j stjt|}tj||j}|j|vr tgS||d|j|j}|j}||}|j|_d}d} t#j$d5|j'|\}} ddd|sL| | j, | j,} nt.j0} tj2|j| t|} t5j4| |j7tt9t;t=|j?t=| S#1swYxYw#t($r} t#j*| d} ~ wwxYw) N)r-r1r,T) assume_yes called_namerFzu.pro.services.disable.v1) lock_holder)rreason)r-) r r we_are_currently_rootr NonRootUserErrorr is_attachedUnattachedErrorr3rentitlement_factoryrr)renabled_variantcalculate_total_disable_steps total_stepsr RetryLockr8 Exceptionclear_lock_file_if_presentmessagerGENERIC_UNKNOWN_ISSUEEntitlementNotDisabledErrorrfinishsortedlistset difference) r4r-r5progressenabled_services_beforeent_cls entitlementvariantsuccess fail_reasoner=enabled_services_afters rr7r74s /H  % % '))++   ( (((**5c:..3W__MG55   OOmm K ))G &DDFHGK ^^3  A$/#6#6x#@ G[ A   "{':':'F ((F33F44OOF  5S9 MMc OO  +,77./   - A A  '')s0-G*GG*G'#G** H3H  Hv1DisableServiceT)versionr1fn options_clssupports_progressr))loggingtypingrruaclientrrrrr uaclient.apir r r uaclient.api.apir uaclient.api.data_typesr-uaclient.api.u.pro.status.enabled_services.v1r(uaclient.api.u.pro.status.is_attached.v1ruaclient.configruaclient.data_typesrrrrr getLoggerreplace_top_level_logger_namer!LOGrr)r%r3r8r7endpointr'r rrns !??FF(2KA$g:::8DEZ!J!EEd3iE LPJ J.67G.HJJ37G G G./G GT     r