]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/mgr/snap_schedule: use param annotation for argsdesc
authorKefu Chai <kchai@redhat.com>
Sun, 27 Dec 2020 09:22:51 +0000 (17:22 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 15 Jan 2021 01:18:07 +0000 (09:18 +0800)
use parameter annotation for CLICommand args desc, less repeating this way

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/pybind/mgr/snap_schedule/module.py

index d1c08bebb557eff31edb6efd6f4fbf8514df23e9..a1a34e08b07aceb0d1a958d68149120483547859 100644 (file)
@@ -6,6 +6,7 @@ LGPL2.1.  See file COPYING.
 import errno
 import json
 import sqlite3
+from typing import Sequence, Optional
 from .fs.schedule_client import SnapSchedClient
 from mgr_module import MgrModule, CLIReadCommand, CLIWriteCommand, Option
 from mgr_util import CephfsConnectionException
@@ -56,12 +57,12 @@ class Module(MgrModule):
         self._initialized.wait()
         return -errno.EINVAL, "", "Unknown command"
 
-    @CLIReadCommand('fs snap-schedule status',
-                    'name=path,type=CephString,req=false '
-                    'name=subvol,type=CephString,req=false '
-                    'name=fs,type=CephString,req=false '
-                    'name=format,type=CephString,req=false')
-    def snap_schedule_get(self, path='/', subvol=None, fs=None, format='plain'):
+    @CLIReadCommand('fs snap-schedule status')
+    def snap_schedule_get(self,
+                          path: Optional[str] = '/',
+                          subvol: Optional[str] = None,
+                          fs: Optional[str] = None,
+                          format: Optional[str] = 'plain'):
         '''
         List current snapshot schedules
         '''
@@ -75,14 +76,12 @@ class Module(MgrModule):
             return 0, f'{json_report}', ''
         return 0, '\n===\n'.join([ret_sched.report() for ret_sched in ret_scheds]), ''
 
-    @CLIReadCommand('fs snap-schedule list',
-                    'name=path,type=CephString '
-                    'name=recursive,type=CephString,req=false '
-                    'name=subvol,type=CephString,req=false '
-                    'name=fs,type=CephString,req=false '
-                    'name=format,type=CephString,req=false')
-    def snap_schedule_list(self, path, subvol=None, recursive=False, fs=None,
-                           format='plain'):
+    @CLIReadCommand('fs snap-schedule list')
+    def snap_schedule_list(self, path: str,
+                           subvol: Optional[str] = None,
+                           recursive: Optional[bool] = False,
+                           fs: Optional[str] = None,
+                           format: Optional[str] = 'plain'):
         '''
         Get current snapshot schedule for <path>
         '''
@@ -102,18 +101,13 @@ class Module(MgrModule):
             return 0, json.dumps(out), ''
         return 0, '\n'.join([str(sched) for sched in scheds]), ''
 
-    @CLIWriteCommand('fs snap-schedule add',
-                     'name=path,type=CephString '
-                     'name=snap-schedule,type=CephString '
-                     'name=start,type=CephString,req=false '
-                     'name=fs,type=CephString,req=false '
-                     'name=subvol,type=CephString,req=false')
+    @CLIWriteCommand('fs snap-schedule add')
     def snap_schedule_add(self,
-                          path,
-                          snap_schedule,
-                          start=None,
-                          fs=None,
-                          subvol=None):
+                          path: str,
+                          snap_schedule: Optional[str],
+                          start: Optional[str] = None,
+                          fs: Optional[str] = None,
+                          subvol: Optional[str] = None):
         '''
         Set a snapshot schedule for <path>
         '''
@@ -137,18 +131,13 @@ class Module(MgrModule):
             return e.to_tuple()
         return 0, suc_msg, ''
 
-    @CLIWriteCommand('fs snap-schedule remove',
-                     'name=path,type=CephString '
-                     'name=repeat,type=CephString,req=false '
-                     'name=start,type=CephString,req=false '
-                     'name=subvol,type=CephString,req=false '
-                     'name=fs,type=CephString,req=false')
+    @CLIWriteCommand('fs snap-schedule remove')
     def snap_schedule_rm(self,
-                         path,
-                         repeat=None,
-                         start=None,
-                         subvol=None,
-                         fs=None):
+                         path: str,
+                         repeat: Optional[str] = None,
+                         start: Optional[str] = None,
+                         subvol: Optional[str] = None,
+                         fs: Optional[str] = None):
         '''
         Remove a snapshot schedule for <path>
         '''
@@ -162,18 +151,13 @@ class Module(MgrModule):
             return -errno.ENOENT, '', str(e)
         return 0, 'Schedule removed for path {}'.format(path), ''
 
-    @CLIWriteCommand('fs snap-schedule retention add',
-                     'name=path,type=CephString '
-                     'name=retention-spec-or-period,type=CephString '
-                     'name=retention-count,type=CephString,req=false '
-                     'name=fs,type=CephString,req=false '
-                     'name=subvol,type=CephString,req=false')
+    @CLIWriteCommand('fs snap-schedule retention add')
     def snap_schedule_retention_add(self,
-                                    path,
-                                    retention_spec_or_period,
-                                    retention_count=None,
-                                    fs=None,
-                                    subvol=None):
+                                    path: str,
+                                    retention_spec_or_period: str,
+                                    retention_count: Optional[str] = None,
+                                    fs: Optional[str] = None,
+                                    subvol: Optional[str] = None):
         '''
         Set a retention specification for <path>
         '''
@@ -189,18 +173,13 @@ class Module(MgrModule):
             return -errno.ENOENT, '', str(e)
         return 0, 'Retention added to path {}'.format(path), ''
 
-    @CLIWriteCommand('fs snap-schedule retention remove',
-                     'name=path,type=CephString '
-                     'name=retention-spec-or-period,type=CephString '
-                     'name=retention-count,type=CephString,req=false '
-                     'name=fs,type=CephString,req=false '
-                     'name=subvol,type=CephString,req=false')
+    @CLIWriteCommand('fs snap-schedule retention remove')
     def snap_schedule_retention_rm(self,
-                                   path,
-                                   retention_spec_or_period,
-                                   retention_count=None,
-                                   fs=None,
-                                   subvol=None):
+                                   path: str,
+                                   retention_spec_or_period: str,
+                                   retention_count: Optional[str] = None,
+                                   fs: Optional[str] = None,
+                                   subvol: Optional[str] = None):
         '''
         Remove a retention specification for <path>
         '''
@@ -216,18 +195,13 @@ class Module(MgrModule):
             return -errno.ENOENT, '', str(e)
         return 0, 'Retention removed from path {}'.format(path), ''
 
-    @CLIWriteCommand('fs snap-schedule activate',
-                     'name=path,type=CephString '
-                     'name=repeat,type=CephString,req=false '
-                     'name=start,type=CephString,req=false '
-                     'name=subvol,type=CephString,req=false '
-                     'name=fs,type=CephString,req=false')
+    @CLIWriteCommand('fs snap-schedule activate')
     def snap_schedule_activate(self,
-                               path,
-                               repeat=None,
-                               start=None,
-                               subvol=None,
-                               fs=None):
+                               path: str,
+                               repeat: Optional[str] = None,
+                               start: Optional[str] = None,
+                               subvol: Optional[str] = None,
+                               fs: Optional[str] = None):
         '''
         Activate a snapshot schedule for <path>
         '''
@@ -241,18 +215,13 @@ class Module(MgrModule):
             return -errno.ENOENT, '', str(e)
         return 0, 'Schedule activated for path {}'.format(path), ''
 
-    @CLIWriteCommand('fs snap-schedule deactivate',
-                     'name=path,type=CephString '
-                     'name=repeat,type=CephString,req=false '
-                     'name=start,type=CephString,req=false '
-                     'name=subvol,type=CephString,req=false '
-                     'name=fs,type=CephString,req=false')
+    @CLIWriteCommand('fs snap-schedule deactivate')
     def snap_schedule_deactivate(self,
-                                 path,
-                                 repeat=None,
-                                 start=None,
-                                 subvol=None,
-                                 fs=None):
+                                 path: str,
+                                 repeat: Optional[str] = None,
+                                 start: Optional[str] = None,
+                                 subvol: Optional[str] = None,
+                                 fs: Optional[str] = None):
         '''
         Deactivate a snapshot schedule for <path>
         '''