OwlCyberSecurity - MANAGER
Edit File: disable.cpython-38.pyc
U ��g�* � @ s� d dl Z d dlZd dlZd dlmZmZmZ d dlmZm Z m Z mZmZm Z mZmZ d dlmZ d dlmZmZ d dlmZ d dlmZ d dlmZmZmZ d d lmZ d d lm Z e�!� Z"e�#e�$e%��Z&ej'e(ee ee( e(e(d�dd �Z)dd�dd�Z*ej+ej,e�-ej.�e�/d�dd� ����Z0ede j1e j2e0ej3eede j4j5d�6e j7e�'� d��d�ddd�ede j8j5dd�dd �ed!e j9j5d"d#�dd"d$gd"d%�ed&e j:dd �gd'�gd(�Z;dS ))� N)�Any�Dict�List)�config�contract�entitlements�event_logger� exceptions�messages�status�util)�ProgressWrapper)�ServiceWithDependencies� _dependencies)�_enabled_services)�cli_util)�ProArgument�ProArgumentGroup� ProCommand)�HelpCategory)�CanDisableFailure)�cfg�service�all_dependencies�enabled_service_names�called_name� service_titlec C s� g }|D ]<}|j |ks|j |kr"q|jD ]}|j |kr(|�|j � q(q|D ]:} t�| | �} tjj|| d�}tj |d�sJt j|| d��qJd S )N)Zservice_being_disabled�dependent_service)�msg)�nameZ depends_on�appendr Z get_titler ZDEPENDENT_SERVICE�formatr Zprompt_for_confirmationr ZDependentServiceStopsDisable)r r r r r r Zdependent_services�sZrequirementr Zdependent_service_titleZuser_msg� r# �6/usr/lib/python3/dist-packages/uaclient/cli/disable.py�prompt_for_dependency_handling s* ���r% T)� update_statusc C s� | j }|dk r|} |rt� }nttj|d��}| �|�\}}|s�t�| j� |dk r�t|t �r�|j dk r�t�|j j� tj |j j|j j| jd� nt�| j� |r�tj|d� |S )a Perform the disable action on a named entitlement. :param entitlement_name: the name of the entitlement to enable :param cfg: the UAConfig to pass to the entitlement :param json_output: output should be json only @return: True on success, False otherwise N�� assume_yes)Z error_msgZ error_coder �r )�enabled_variantr r �CLIEnableDisableProgress�disable�eventZservice_failedr � isinstancer �message�infor �errorZservice_processedr ) Zentitlementr �json_outputr( r&