From f8ae8c8e60ec94cbf2cb095f660366bc2ae483a7 Mon Sep 17 00:00:00 2001 From: "Caleb St. John" <30729806+yocalebo@users.noreply.github.com> Date: Tue, 21 Jan 2025 09:51:06 -0500 Subject: [PATCH] NAS-133691 / 25.04 / Convert ipmi.is_loaded to new API (#15450) * add ipmi.py to new api * convert plugins/ipmi.py to new api --- src/middlewared/middlewared/api/v25_04_0/__init__.py | 1 + src/middlewared/middlewared/api/v25_04_0/ipmi.py | 9 +++++++++ src/middlewared/middlewared/plugins/ipmi.py | 10 +++++++--- 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 src/middlewared/middlewared/api/v25_04_0/ipmi.py diff --git a/src/middlewared/middlewared/api/v25_04_0/__init__.py b/src/middlewared/middlewared/api/v25_04_0/__init__.py index 66adbaaea9ba7..eb8e5a30c3585 100644 --- a/src/middlewared/middlewared/api/v25_04_0/__init__.py +++ b/src/middlewared/middlewared/api/v25_04_0/__init__.py @@ -33,6 +33,7 @@ from .ftp import * # noqa from .group import * # noqa from .initshutdownscript import * # noqa +from .ipmi import * # noqa from .iscsi_auth import * # noqa from .iscsi_extent import * # noqa from .iscsi_global import * # noqa diff --git a/src/middlewared/middlewared/api/v25_04_0/ipmi.py b/src/middlewared/middlewared/api/v25_04_0/ipmi.py new file mode 100644 index 0000000000000..8fd8d2e623577 --- /dev/null +++ b/src/middlewared/middlewared/api/v25_04_0/ipmi.py @@ -0,0 +1,9 @@ +from middlewared.api.base import BaseModel + + +class IPMIIsLoadedArgs(BaseModel): + pass + + +class IPMIIsLoadedResult(BaseModel): + result: bool diff --git a/src/middlewared/middlewared/plugins/ipmi.py b/src/middlewared/middlewared/plugins/ipmi.py index a3e8636aa4691..e7f12786563e7 100644 --- a/src/middlewared/middlewared/plugins/ipmi.py +++ b/src/middlewared/middlewared/plugins/ipmi.py @@ -1,6 +1,7 @@ import os -from middlewared.schema import accepts, returns, Bool +from middlewared.api import api_method +from middlewared.api.current import IPMIIsLoadedArgs, IPMIIsLoadedResult from middlewared.service import Service @@ -9,8 +10,11 @@ class IPMIService(Service): class Config: cli_namespace = 'system.ipmi' - @accepts(roles=['READONLY_ADMIN']) - @returns(Bool('ipmi_loaded')) + @api_method( + IPMIIsLoadedArgs, + IPMIIsLoadedResult, + roles=['READONLY_ADMIN'] + ) def is_loaded(self): """Returns a boolean value indicating if /dev/ipmi0 is loaded.""" return os.path.exists('/dev/ipmi0')