File: //lib/python3/dist-packages/uaclient/api/u/security/package_manifest/__pycache__/v1.cpython-38.pyc
U
��Jh_ � @ s� d dl mZmZ d dlmZ d dlmZ d dlmZ d dl m
Z
mZmZ G dd� de
e�Z
e
Ze
d�d d
�Zee
d�dd
�Zeddedd�Zddde
g ddd�ZdS )� )�apt�snap)�APIEndpoint)�AdditionalInfo)�UAConfig)�
DataObject�Field�StringDataValuec @ s* e Zd Zededd�gZed�dd�ZdS )�PackageManifestResult�
manifest_datazAManifest of ``apt`` and ``snap`` packages installed on the system)�doc�r c C s
|| _ d S �Nr
)�selfr � r �M/usr/lib/python3/dist-packages/uaclient/api/u/security/package_manifest/v1.py�__init__ s zPackageManifestResult.__init__N)�__name__�
__module__�__qualname__r r Zfields�strr r r r r r
s ��r
)�returnc C s
t t� �S r )�_package_manifestr r r r r �package_manifest s r )�cfgr c C sz d}t �� }|D ]2}|jdkr"dnd|j }|d�|j||j�7 }qt�� }|D ]}|dj|j|j|j d�7 }qPt
|d�S )z�
This endpoint returns the status of installed packages (``apt`` and
``snap``), formatted as a manifest file (i.e., ``package_name\tversion``).
� �all�:z{}{} {}
z!snap:{name} {channel} {revision}
)�name�channel�revisionr
)r Zget_installed_packages�arch�formatr �versionr Zget_installed_snapsr r r
)r ZmanifestZapt_pkgs�apt_pkgr! Zpkgs�pkgr r r r ! s �
r Zv1ZPackagesN)r# r �fnZoptions_clsz27.12Fzg
from uaclient.api.u.security.package_manifest.v1 import package_manifest
result = package_manifest()
z&pro api u.security.package_manifest.v1z=
{
"package_manifest":"package1\t1.0\npackage2\t2.3\n"
}
)Z
introduced_inZrequires_networkZexample_pythonZresult_class�
exceptionsZexample_cliZexample_json)Zuaclientr r Zuaclient.api.apir Zuaclient.api.data_typesr Zuaclient.configr Zuaclient.data_typesr r r r
ZPackageManifestResultsr r ZendpointZ_docr r r r �<module> s, ��