%PDF- %PDF-
Direktori : /usr/lib/python3/dist-packages/uaclient/api/u/pro/security/status/livepatch_cves/ |
Current File : //usr/lib/python3/dist-packages/uaclient/api/u/pro/security/status/livepatch_cves/v1.py |
from typing import List from uaclient.api.api import APIEndpoint from uaclient.api.data_types import AdditionalInfo from uaclient.config import UAConfig from uaclient.data_types import ( BoolDataValue, DataObject, Field, StringDataValue, data_list, ) from uaclient.security_status import get_livepatch_fixed_cves class LivepatchCVEObject(DataObject): fields = [Field("name", StringDataValue), Field("patched", BoolDataValue)] def __init__(self, name: str, patched: bool): self.name = name self.patched = patched class LivepatchCVEsResult(DataObject, AdditionalInfo): fields = [ Field("fixed_cves", data_list(LivepatchCVEObject)), ] def __init__( self, fixed_cves: List[LivepatchCVEObject], ): self.fixed_cves = fixed_cves def livepatch_cves() -> LivepatchCVEsResult: return _livepatch_cves(UAConfig()) def _livepatch_cves(cfg: UAConfig) -> LivepatchCVEsResult: return LivepatchCVEsResult( fixed_cves=[ LivepatchCVEObject(name=cve["name"], patched=cve["patched"]) for cve in get_livepatch_fixed_cves() ] ) endpoint = APIEndpoint( version="v1", name="LivepatchCVEs", fn=_livepatch_cves, options_cls=None, )