o Hcf# @s>ddlZddlmZmZddlmZmZmZmZm Z ddl m Z m Z m Z ddlmZddlmZddlmZddlmZdd lmZdd lmZmZmZmZmZee e Z!Gd d d eZ"Gd ddeeZ#dedee$fddZ% dde"dee de#fddZ& dde"dedee de#fddZ'edde'e"ddZ(dS)N)ListOptional) entitlementslockmessagesstatusutil)AbstractProgressProgressWrapper exceptions) APIEndpoint)AdditionalInfo)_enabled_services) _is_attached)UAConfig) BoolDataValue DataObjectFieldStringDataValue data_listc@sNeZdZedeededededgZddddedeede fddZ dS) EnableOptionsservicevariantF access_onlyN)rrcCs||_||_||_dSN)rrr)selfrrrrG/usr/lib/python3/dist-packages/uaclient/api/u/pro/services/enable/v1.py__init__s zEnableOptions.__init__) __name__ __module__ __qualname__rrrfieldsstrrboolrrrrrrs   rc @sbeZdZedeeedeeedeedeegZdee dee de dee fddZ dS) EnableResultenableddisabledreboot_requiredrcCs||_||_||_||_dSrr&r'r(r)rr&r'r(rrrrr1s zEnableResult.__init__N) rr r!rrrrr"rr#r$rrrrrr%)s   r%cfgreturncCsddt|jDS)NcSsg|]}|jqSr)name).0srrr @sz+_enabled_services_names..)renabled_servicesr*rrr_enabled_services_names?sr2optionsprogress_objectcCst|t|dS)N)r4)_enabler)r3r4rrrenableCsr6c Cst|}ts tt|jst|jdkrt t |}|j|vr/t ggdgdSt j ||j|jp8dd}||dd|j|jd}||_d}d}ztjdd ||\}}Wdn1shwYWnty} zt| d} ~ ww|s|dur|jdur|j} ntj} tj|j| d t |} d d |jd gpgD} tj|d|t tt t!| "t!|tt t!|"t!| |#| dS)N landscapeFr))r*r,rT) assume_yes allow_beta called_namerzu.pro.services.enable.v1) lock_holder)rreasoncSsg|] }t|tr|qSr) isinstancer#)r-msgrrrr/s z_enable.. post_enabler1)$r rwe_are_currently_rootr NonRootUserErrorr is_attachedUnattachedErrorr NotSupportedr2r%rentitlement_factoryrrcalculate_total_enable_steps total_stepsr RetryLockr6 Exceptionclear_lock_file_if_presentmessagerGENERIC_UNKNOWN_ISSUEEntitlementNotEnabledError messaginggetrfinishsortedlistset difference_check_for_reboot) r3r*r4progressenabled_services_beforeent_cls entitlementsuccess fail_reasoner=enabled_services_afterpost_enable_messagesrrrr5Is     r5v1 EnableServiceT)versionr,fn 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_namerLOGrr%r#r2r6r5endpointrrrrsN        [