HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/uaclient/cli/__pycache__/detach.cpython-38.pyc
U

��Jh�
�@s ddlmZmZmZmZmZmZmZmZddl	m
Z
ddlmZm
Z
mZddlmZddlmZddlmZmZddlmZe��Ze
je
je
��e
�d�ed	�d
d�����Zej e!e!ed�d
d�Z"edej#ej$eej%e
edej&j'dd�dd�edej(j'dd�dddgdd�gd�gd�Z)dS)�)�config�daemon�entitlements�event_logger�
exceptions�messages�timer�util)�cli_util)�ProArgument�ProArgumentGroup�
ProCommand)�perform_disable)�HelpCategory)�
machine_token�state_files)�update_motd_messagesz
pro detach)�returncKs:t||j|jdkd�}|dkr.t��t��t��|S)zXPerform the detach action for this machine.

    @return: 0 on success, 1 otherwise
    �json)�
assume_yes�json_outputr)	�_detachr�formatr�startr�stop�eventZprocess_events)�args�cfg�kwargs�ret�r �5/usr/lib/python3/dist-packages/uaclient/cli/detach.py�
action_detachs	�r")rrrrc		Cs�g}t�|�D]P}ztj||d�}Wntjk
r>YqYnX|jdd�\}}|r|�|�q|r�t�t	j
�t|���|D]}t�d�
|j��q~tj|d�s�dS|D]}t||||dd�q�t�|�}|��t��t|�t�t	j�d	S)
ajDetach the machine from the active Ubuntu Pro subscription,

    :param cfg: a ``config.UAConfig`` instance
    :param assume_yes: Assume a yes answer to any prompts requested.
         In this case, it means automatically disable any service during
         detach.
    :param json_output: output should be json only

    @return: 0 on success, 1 otherwise
    )r�nameT)Zignore_dependent_servicesz    {})r�F)rrZ
update_statusr)rZentitlements_disable_orderZentitlement_factoryrZEntitlementNotFoundErrorZcan_disable�appendr�inforZDETACH_WILL_DISABLEZ	pluralize�lenrr#r	Zprompt_for_confirmationrrZget_machine_token_file�deleterZdelete_state_filesrZDETACH_SUCCESS)	rrrZ
to_disableZent_nameZentr�_Zmachine_token_filer r r!r(s@�

�
r�detachz--assume-yes)Zcommand�
store_true)�help�actionz--formatZcli)�defaultZstorer)r,r-�choicesr.)Z	arguments)r,Zdescriptionr-Z
help_categoryZargument_groupsN)*Zuaclientrrrrrrrr	Zuaclient.clir
Zuaclient.cli.commandsrrr
Zuaclient.cli.disablerZuaclient.cli.parserrZuaclient.filesrrZuaclient.timer.update_messagingrZget_event_loggerrZverify_json_format_argsZassert_rootZassert_attachedZassert_lock_file�intr"ZUAConfig�boolrZCLI_ROOT_DETACHZCLI_DETACH_DESCZOTHERZCLI_ASSUME_YESrZCLI_FORMAT_DESCZdetach_commandr r r r!�<module>sH(
3������