HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/uaclient/entitlements/__pycache__/anbox.cpython-310.pyc
o

nHJe*�@s�ddlmZmZmZmZddlmZmZmZm	Z	ddl
mZmZddl
mZddlmZmZddlmZe��ZGdd�de�Zd	S)
�)�Any�Dict�Optional�Tuple)�contract�event_logger�messages�system)�CanEnableFailure�CanEnableFailureReason)�RepoEntitlement)�AnboxCloudData�anbox_cloud_credentials_file)�MessagingOperationsDictcs�eZdZdZejZejZej	j
ZejZ
dZdZdZdZdZedefdd��Zdeeeeff�fd	d
�Zddedef�fd
d�
Zd�fdd�	Zdeeefdeedefdd�Z �Z!S)�AnboxEntitlementzanbox-cloudzubuntu-pro-anbox-cloud.gpgz{}T�Anbox�returncCs|js	dtjgiSiS)N�post_enable)�access_onlyr�ANBOX_RUN_INIT_CMD)�self�r�=/usr/lib/python3/dist-packages/uaclient/entitlements/anbox.py�	messagingszAnboxEntitlement.messagingcs>t���\}}|s
||fSt��r|jsdttjtj	�fSdS)NF)TN)
�super�
can_enabler	�is_containerrr
r�ONLY_ACCESS_ONLY_SUPPORTEDr�!ANBOX_FAIL_TO_ENABLE_ON_CONTAINER)r�ret�reason��	__class__rrr%s��zAnboxEntitlement.can_enableF�silentcs�t�j|d�}|s|S|j�di��di�}|jjd}t�|j�}|j|ddd�}t	|�di��di��dd	�|�d
d	�|�dd	�|�dd	�d
�}t
�|�dS)N�r#�entitlement�
directives�machineTokenzanbox-imagesF)�	save_file�url��
resourceToken�aptURL�aptKey)�anbox_images_url�anbox_images_resource_token�anbox_cloud_apt_url�anbox_cloud_apt_tokenT)r�_perform_enable�entitlement_cfg�get�cfg�
machine_tokenr�UAContractClient�get_resource_machine_accessr
r�write)rr#rr&r6�client�anbox_images_machine_access�anbox_cloud_datar!rrr26s.��
�

�
z AnboxEntitlement._perform_enablecst�j|d�t��dS)Nr$T)r�_perform_disabler�delete)rr#r!rrr=Tsz!AnboxEntitlement._perform_disable�obligationsr+cCsdS)NFr)rr?r+rrr�_should_enable_by_default]sz*AnboxEntitlement._should_enable_by_default)F)"�__name__�
__module__�__qualname__�namer�ANBOX_TITLE�title�ANBOX_DESCRIPTION�description�urls�ANBOX_HOME_PAGE�help_doc_url�ANBOX_HELP_TEXT�	help_text�
repo_key_file�
repo_url_tmpl�affordance_check_series�supports_access_only�origin�propertyrrr�boolrr
rr2r=r�strrr@�
__classcell__rrr!rrs.	
���rN)�typingrrrr�uaclientrrrr	�(uaclient.entitlements.entitlement_statusr
r�uaclient.entitlements.repor�uaclient.files.state_filesr
r�uaclient.typesr�get_event_logger�eventrrrrr�<module>s