OwlCyberSecurity - MANAGER
Edit File: machine_token.cpython-38.pyc
U ��g�# � @ s~ d dl Z d dlmZ d dlmZmZmZ d dlmZmZm Z m Z d dlmZ d dl mZ daG dd� d�Zded �d d�ZdS ) � N)�datetime)�Any�Dict�Optional)�defaults� exceptions�system�util)�PublicMachineTokenData)�UAFilec @ sh e Zd Zejdfeee d�dd�Zed�dd�Z dd � Z ee d �dd�Zed d� �Z edd� �Zeee d �dd��Zdd� Zeeeef d �dd��Zd1ee d�dd�Zed2eeef ee d�dd��Zeee d �dd��Zedd � �Zeee d �d!d"��Zed#d �d$d%��Zed#d �d&d'��Zed(d �d)d*��Zed+d,� �Zed-d.� �Z ed/d0� �Z!dS )3�MachineTokenFileN�� directory�machine_token_overlay_pathc C sF t j}t||d t j �| _t||d�| _|| _d | _d | _d | _ d S )N�/F) r ZMACHINE_TOKEN_FILEr ZPRIVATE_SUBDIR�private_file�public_filer �_machine_token� _entitlements�_contract_expiry_datetime)�selfr r � file_name� r �>/usr/lib/python3/dist-packages/uaclient/files/machine_token.py�__init__ s �zMachineTokenFile.__init__)�private_contentc C sr t �� rftj|t jd�}| j�|� t�|�j dd�}tj|t jd�}| j �|� d| _d| _d| _ nt�� �dS )z8Update the machine_token file for both pub/private files��clsF)Z keep_noneN)r �we_are_currently_root�json�dumpsZDatetimeAwareJSONEncoderr �writer Z from_dictZto_dictr r r r r �NonRootUserError)r r Zprivate_content_strZpublic_contentZpublic_content_strr r r r! s( ��� �zMachineTokenFile.writec C s<