From 492c7896c3cfd9873050d0b590e84a12f0588733 Mon Sep 17 00:00:00 2001 From: John Mulligan Date: Mon, 6 May 2024 16:35:06 -0400 Subject: [PATCH] mgr/smb: add enums for managing share login access control Add enums that will be used to create a share login control attribute. Signed-off-by: John Mulligan --- src/pybind/mgr/smb/enums.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/pybind/mgr/smb/enums.py b/src/pybind/mgr/smb/enums.py index 92b8705ebba..175af98d499 100644 --- a/src/pybind/mgr/smb/enums.py +++ b/src/pybind/mgr/smb/enums.py @@ -54,3 +54,26 @@ class ConfigNS(_StrEnum): SHARES = 'shares' USERS_AND_GROUPS = 'users_and_groups' JOIN_AUTHS = 'join_auths' + + +class LoginCategory(_StrEnum): + USER = 'user' + GROUP = 'group' + + +class LoginAccess(_StrEnum): + ADMIN = 'admin' + NONE = 'none' + READ_ONLY = 'read' + READ_ONLY_SHORT = 'r' + READ_WRITE = 'read-write' + READ_WRITE_SHORT = 'rw' + + def expand(self) -> 'LoginAccess': + """Exapend abbreviated enum values into their full forms.""" + # the extra LoginAccess(...) calls are to appease mypy + if self == self.READ_ONLY_SHORT: + return LoginAccess(self.READ_ONLY) + if self == self.READ_WRITE_SHORT: + return LoginAccess(self.READ_WRITE) + return self -- 2.39.5