
    f0                         d dl Z d dlmZmZmZmZ d dlmZmZm	Z	m
Z
mZ d dlmZ d dlmZ  e j                    ej"                  e            Z ej(                         Z G d de      Zy)    N)AnyDictOptionalTuple)event_logger
exceptionsmessagessystemutil)UAEntitlement)ApplicationStatusc            	       D    e Zd ZdZej
                  Zej                  Zej                  j                  Zej                  ZddedefdZddedefdZdeeeej(                     f   fdZdeeeej(                     f   fdZ	 ddeeef   d	eeef   d
edef fdZ xZS )LandscapeEntitlement	landscapesilentreturnc           	         dg| j                   z   }| j                  r
d|vr|dgz  }t        j                  d|       t        j                  t        j                  t        j                  j                  dj                  |                         	 t        j                  || j                         | j                  r=t        j                  t        j2                  j                  | j0                  	             y# t        j                  $ r}| j                  rt        j                   }t        j#                  |j$                  |j&                  | j&                  |j(                  j+                         |j,                  j+                         d       t        j                  |j,                  j+                                t        j                  t        j.                  j                  | j0                  	             Y d }~y
d }~ww xY w)Nlandscape-config--silentzExecuting: %r command)pipe_stdouterr)stdoutstderr)serviceadditional_info)titleFT)
extra_args
assume_yesLOGdebugeventinfor   redact_sensitive_logsr	   EXECUTING_COMMANDformatjoinr
   subpr   ProcessExecutionErrorLANDSCAPE_CONFIG_FAILEDerrormsgnamer   stripr   ENABLE_FAILEDr   ENABLED_TMPL)selfr   cmdeerr_msgs        A/usr/lib/python3/dist-packages/uaclient/entitlements/landscape.py_perform_enablez$LandscapeEntitlement._perform_enable   sn   !"T__4??z4J<C		/3'

&&**11#((3-1H	

	KKDOO<" ?? JJx,,33$**3EF) // 	"::KKLL II"#((.."2"#((.."2%	   

188>>+,

81188tzz8JK	s   !C> >HC0HHc                    ddg}t         j                  t        j                  j	                  dj                  |                   	 t        j                  |       t         j                  t        j                          y# t        j                  $ rt}t        j                  |       t         j                  t        |      j                                t         j                  t        |      | j                         Y d }~d }~ww xY w)Nr   z	--disabler   r   T)r#   r$   r	   r&   r'   r(   r
   r)   r   r*   r!   r,   strr/   warningr.   LANDSCAPE_CONFIG_REMAINS)r2   r   r3   r4   s       r6   _perform_disablez%LandscapeEntitlement._perform_disable6   s    !;/

8--44SXXc]4KL	-KK 	

8445 // 	-IIaLJJs1v||~&MM#a&$)),,	-s   B DA*DDc                     | j                         r't        j                  d      rt        j                  d fS t        j
                  t        j                  fS )Nzlandscape-client)are_required_packages_installedr
   is_systemd_unit_activer   ENABLEDDISABLEDr	   LANDSCAPE_SERVICE_NOT_ACTIVEr2   s    r6   application_statusz'LandscapeEntitlement.application_statusD   sN     002--.@A%--t44 "**55     c                     t        j                         r	 t        j                  g d       yy# t        j
                  $ r dt        j                  fcY S w xY w)N)r   z--is-registeredr   T)FN)r   we_are_currently_rootr
   r)   r   r*   r	   LANDSCAPE_NOT_REGISTEREDrC   s    r6   enabled_warning_statusz+LandscapeEntitlement.enabled_warning_statusR   sV    
 %%'G  33 55 s   / %AAorig_accessdeltasallow_enablec                 (    t         |   ||d      S )NF)rL   )superprocess_contract_deltas)r2   rJ   rK   rL   	__class__s       r6   rO   z,LandscapeEntitlement.process_contract_deltasd   s#     w.e / 
 	
rE   )F)__name__
__module____qualname__r.   r	   LANDSCAPE_TITLEr   LANDSCAPE_DESCRIPTIONdescriptionurlsLANDSCAPE_HOME_PAGEhelp_doc_urlLANDSCAPE_HELP_TEXT	help_textboolr7   r<   r   r   r   NamedMessagerD   rI   r   r9   r   rO   __classcell__)rP   s   @r6   r   r      s    D$$E00K==44L,,I!d !t !Ft  	 (8+@+@"AA	B	tXh3344	5, #	

#s(^

 S#X

 	


 


 

rE   r   )loggingtypingr   r   r   r   uaclientr   r   r	   r
   r   uaclient.entitlements.baser   (uaclient.entitlements.entitlement_statusr   	getLoggerreplace_top_level_logger_namerQ   r!   get_event_loggerr#   r    rE   r6   <module>rh      sX     - - E E 4 Fg:::8DE%%%'b
= b
rE   