| Server IP : 54.94.228.101 / Your IP : 172.28.20.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/uaclient/api/u/pro/security/status/livepatch_cves/ |
Upload File : |
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,
)