/usr/lib/python3/dist-packages/uaclient/__pycache__
NameSizeModeActions
actions.cpython-310.pyc113810644editdlrm
apt.cpython-310.pyc283670644editdlrm
apt_news.cpython-310.pyc73460644editdlrm
config.cpython-310.pyc137600644editdlrm
contract.cpython-310.pyc248990644editdlrm
contract_data_types.cpython-310.pyc80680644editdlrm
data_types.cpython-310.pyc147880644editdlrm
defaults.cpython-310.pyc29130644editdlrm
event_logger.cpython-310.pyc78400644editdlrm
exceptions.cpython-310.pyc250390644editdlrm
gpg.cpython-310.pyc10250644editdlrm
livepatch.cpython-310.pyc106950644editdlrm
lock.cpython-310.pyc46350644editdlrm
log.cpython-310.pyc46330644editdlrm
secret_manager.cpython-310.pyc12560644editdlrm
security_status.cpython-310.pyc165980644editdlrm
snap.cpython-310.pyc64710644editdlrm
status.cpython-310.pyc183610644editdlrm
system.cpython-310.pyc227620644editdlrm
types.cpython-310.pyc4720644editdlrm
update_contract_info.cpython-310.pyc13320644editdlrm
upgrade_lts_contract.cpython-310.pyc29920644editdlrm
util.cpython-310.pyc135250644editdlrm
version.cpython-310.pyc24990644editdlrm
yaml.cpython-310.pyc11780644editdlrm
__init__.cpython-310.pyc1440644editdlrm
Edit: /usr/lib/python3/dist-packages/uaclient/__pycache__/config.cpython-310.pyc (13760B)
o KiK@sddlZddlZddlZddlmZmZddlmZmZm Z ddl m Z m Z m Z mZmZmZmZmZddlmZmZmZmZmZmZmZmZmZddlmZmZddl m!Z!e"e#e$Z%dd d Z&d Z'd Z(d Z)e *Z+GdddZ,de-fddZ.dddZ/de-fddZ0dS)N) lru_cachewraps)AnyDictOptional)apt event_logger exceptionshttpmessagessnapsystemutil) APT_NEWS_URLBASE_CONTRACT_URLBASE_LIVEPATCH_URLBASE_SECURITY_URLBASE_VULNERABILITY_DATA_URLCONFIG_DEFAULTSCONFIG_FIELD_ENVVAR_ALLOWLISTDEFAULT_CONFIG_FILEDEFAULT_DATA_DIR) state_filesuser_config_file) safe_loadnametype)availableResourcesresourceEntitlements_unset) http_proxy https_proxyapt_http_proxyapt_https_proxyua_apt_http_proxyua_apt_https_proxyglobal_apt_http_proxyglobal_apt_https_proxyupdate_messaging_timermetering_timerapt_news apt_news_urlvulnerability_data_url_prefixlxd_guest_attach) contract_urldata_dirfeatureslog_file log_level security_urlr,settings_overrides ua_config livepatch_urlc @seZdZdZdZdZ   dIdeeee fdee j deeddfd d Z e defd d Ze defd dZe defddZe deefddZejdefddZe deefddZejdefddZe deefddZejdefddZe deefddZejdefddZe defddZejdefd dZe edd!deefd"d#Zejdefd$d#Ze edd!deefd%d&Zejdefd'd&Ze defd(d)Zejdefd*d)Ze defd+d,Zejdefd-d,Ze defd.d/Zejdefd0d/Ze defd1d2Zejdefd3d2Ze defd4d5Z e jdefd6d5Z e defd7d8Z!e!jdefd9d8Z!e de j"fd:d;Z#e#jde j"fdZ$e d?d@Z%e defdAdBZ&e dCdDZ'dEdFZ(dGdHZ)dS)JUAConfig)r$r%)r&r')r"r#Ncfg user_configseriesreturnc Cs|r d|_||_d|_n t|_t|j\|_|_|r||_n,ztj|_Wn#tyJ}zt j d|dt dt |_WYd}~nd}~wwd|jvrctj j i|j |jddd|_||_dS)NzError loading user config)exc_infozUsing default config valuesr5T) optional_type_errors_become_null)cfg_pathr8 invalid_keysget_config_path parse_configr9rread ExceptionLOGwarningUserConfigData from_dictto_dictr:)selfr8r9r:erL1/usr/lib/python3/dist-packages/uaclient/config.py__init__Vs,   zUAConfig.__init__cC|jdtS)Nr.)r8getrrJrLrLrMr.yzUAConfig.contract_urlcCrO)Nr3)r8rPrrQrLrLrMr3}rRzUAConfig.security_urlcCrO)Nr6)r8rPrrQrLrLrMr6rRzUAConfig.livepatch_urlcC|jjSN)r9r rQrLrLrMr zUAConfig.http_proxyvaluecC||j_tj|jdSrT)r9r rwriterJrVrLrLrMr cCrSrT)r9r!rQrLrLrMr!rUzUAConfig.https_proxycCrWrT)r9r!rrXrYrLrLrMr!rZcCrSrT)r9r%rQrLrLrMr%rUzUAConfig.ua_apt_https_proxycCrWrT)r9r%rrXrYrLrLrMr%rZcCrSrT)r9r$rQrLrLrMr$rUzUAConfig.ua_apt_http_proxycCrWrT)r9r$rrXrYrLrLrMr$rZcC|jj}|dur tS|SrT)r9r,rrJvalrLrLrMr,z&UAConfig.vulnerability_data_url_prefixcCrWrT)r9r,rrXrYrLrLrMr,rZ)maxsizecC:|jj}|r|S|jj}|rttjjddd|SdS)Nr"r&oldnew)r9r&r"eventinfor WARNING_DEPRECATED_FIELDformatrJ global_val old_apt_valrLrLrMr&zUAConfig.global_apt_http_proxycC.||j_d|j_tjjtj|jdSrT)r9r&r"r7fget cache_clearrrXrYrLrLrMr& cCr`)Nr#r'ra)r9r'r#rdrer rfrgrhrLrLrMr'rkzUAConfig.global_apt_https_proxycCrlrT)r9r'r#r7rmrnrrXrYrLrLrMr'rocC|jj}|dur dS|S)Ni`T)r9r(r\rLrLrMr(r^zUAConfig.update_messaging_timercCrWrT)r9r(rrXrYrLrLrMr(rZcCrp)Ni@8)r9r)r\rLrLrMr)r^zUAConfig.metering_timercCrWrT)r9r)rrXrYrLrLrMr)rZcCrp)NF)r9poll_for_pro_licenser\rLrLrMrqszUAConfig.poll_for_pro_licensecCrWrT)r9rqrrXrYrLrLrMrqrZcCrp)NiX)r9polling_error_retry_delayr\rLrLrMrr sz"UAConfig.polling_error_retry_delaycCrWrT)r9rrrrXrYrLrLrMrrrZcCrp)NT)r9r*r\rLrLrMr*r^zUAConfig.apt_newscCrWrT)r9r*rrXrYrLrLrMr*!rZcCr[rT)r9r+rr\rLrLrMr+&r^zUAConfig.apt_news_urlcCrWrT)r9r+rrXrYrLrLrMr+-rZcCs|jj}|dur tjjS|SrT)r9r-rLXDGuestAttachEnumOFFr\rLrLrMr-2szUAConfig.lxd_guest_attachcCs*|durtjj}||j_tj|jdSrT)rrsrtr9r-rXrYrLrLrMr-9scCrO)Nr/)r8rPrrQrLrLrMr/@rRzUAConfig.data_dircCs8|jdd}ztt|WStytjYSw)Nr2DEBUG)r8rPgetattrloggingupperAttributeErrorru)rJr2rLrLrMr2Ds   zUAConfig.log_levelcCs|jdtdS)Nr1)r8rPrrQrLrLrMr1LszUAConfig.log_filecCs.|jd}|rt|tr|Std|iS)z>Return a dictionary of any features provided in uaclient.conf.r0zDUnexpected uaclient.conf features value. Expected dict, but found %s)r8rP isinstancedictrErF)rJr0rLrLrMr0Ps  zUAConfig.featuresc CsVdD]"}t||}|durtd|qt|tr|dkr$tj||dq|js+|jr5|j s1|j r5t t d|jt jt d|jt jt d|j t jt d|j t jt d|jt jt d|jt j|jsq|jr}t|j|jtjjn|j s|j rt|j |j tjjg}trt|j|j|jsttjs|jsttjr|dddl m!}dd l"m#}||j$}t%d d |D}|r|&|j|j|js||js|js||jr|d t'|dkrd (|}t)t*j+j,|dddl-m.} |j/t0j1j2kr| |j3st)t*j4dSt5j67t5j8|j/ddS)N)r(r)z1No config set for %s, default value will be used.rkeyrVr httpsr ) livepatch)_enabled_servicescss|] }|jdkr|VqdS)rN)r).0entrLrLrM sz*UAConfig.process_config..rz, )services) _is_attached) guest_attach)9rvrEdebugrzintr InvalidPosIntConfigValuer&r'r$r%InvalidProxyCombinationConfigr validate_proxyPROXY_VALIDATION_APT_HTTP_URLPROXY_VALIDATION_APT_HTTPS_URLr PROXY_VALIDATION_SNAP_HTTP_URLr!PROXY_VALIDATION_SNAP_HTTPS_URLrsetup_apt_proxy AptProxyScopeGLOBALUACLIENTr is_snapd_installedconfigure_snap_proxyget_config_option_valueHTTP_PROXY_OPTIONHTTPS_PROXY_OPTIONappenduaclientr-uaclient.api.u.pro.status.enabled_services.v1renabled_servicesanyconfigure_livepatch_proxylenjoinprintr !PROXY_DETECTED_BUT_NOT_CONFIGUREDrg(uaclient.api.u.pro.status.is_attached.v1rr-rrsrt is_attached-WARNING_LXD_GUEST_ATTACH_SET_BUT_NOT_ATTACHEDrlxd_pro_config_filerX LXDProConfig) rJproprVservices_with_proxiesrrrlivepatch_enabledrrrLrLrMprocess_config_s                 zUAConfig.process_configcCs`|jdurt|jD]}td|q d|jvr.tdtdtdtddSdS)Nz&Ignoring invalid uaclient.conf key: %sr5z)legacy "ua_config" found in uaclient.confzPlease do the following:z 1. run `sudo pro config set field=value` for each field/value pair present under "ua_config" in /etc/ubuntu-advantage/uaclient.confzQ 2. Delete "ua_config" and all sub-fields in /etc/ubuntu-advantage/uaclient.conf)r@sortedrErFr8)rJ invalid_keyrLrLrMwarn_about_invalid_keyss    z UAConfig.warn_about_invalid_keys)NNN)*__name__ __module__ __qualname__ua_scoped_proxy_optionsglobal_scoped_proxy_options&deprecated_global_scoped_proxy_optionsrrstrrrrGrNpropertyr.r3r6r setterr!r%r$r,rr&r'rr(r)boolrqrrr*r+rsr-r/r2r1r0rrrLrLrLrMr7Ks #     vr7r;cCstjd}|r |StS)z4Get config path to be used when loading config dict.UA_CONFIG_FILE)osenvironrPr) config_filerLrLrMrAs rAc Csptt}|s t}td|tj|r |t t |i}tj D]Q\}}|}|drx|dd}|drp|dd}|dr^tj|rXt t |}ntj|dd |vri||i|d <q'||d |<q'|tvrx|||<q'||d |vrtj|d |d <d D]}t||stj|||d qt|t}|D]}||q||fS) aParse known Pro config file Attempt to find configuration in cwd and fallback to DEFAULT_CONFIG_FILE. Any missing configuration keys will be set to CONFIG_DEFAULTS. Values are overridden by any environment variable with prefix 'UA_'. @param config_path: Fullpath to pro configfile. If unspecified, use DEFAULT_CONFIG_FILE. @return: Dict of configuration values. z%Using client configuration file at %sua_N features_ yaml)filepathr0r/)r.r3r|)copyrrArErrpathexistsupdaterr load_fileritemslower startswithendswithr InvalidFeatureYamlConfigValuer expanduserr is_service_urlInvalidURLConfigValuesetkeys differenceVALID_UA_CONFIG_KEYSpop) config_pathr8env_keysr}rV field_namefeature_field_namer@rrLrLrMrBsH           rB override_keycsfdd}|S)aDecorator used to override function return by config settings. To identify if we should override the function return, we check if the config object has the expected override key, we use it has, we will use the key value as the function return. Otherwise we will call the function normally. @param override_key: key to be looked for in the settings_override entry in the config dict. If that key is present, we will return its value as the function return. cstfdd}|S)Ncs@t\}}|dit}|tkrdkr|dfS|SS)Nr4 cloud_type)rBrPUNSET_SETTINGS_OVERRIDE_KEY)r8_value_override)frrLrMnew_fAs  z>apply_config_settings_override..wrapper..new_f)r)rrr)rrMwrapper@s z/apply_config_settings_override..wrapperrL)rrrLrrMapply_config_settings_override3s rrT)1rrwr functoolsrrtypingrrrrrrr r r r r ruaclient.defaultsrrrrrrrrruaclient.filesrr uaclient.yamlr getLoggerreplace_top_level_logger_namerrEMERGE_ID_KEY_MAPrUA_CONFIGURABLE_KEYSrget_event_loggerrdr7rrArBrrLrLrLrMs0(,  # ?