From: John Mulligan Date: Mon, 6 May 2024 20:35:06 +0000 (-0400) Subject: mgr/smb: add enums for managing share login access control X-Git-Tag: testing/wip-rishabh-testing-20240628.135345-debug~50^2~7 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=492c7896c3cfd9873050d0b590e84a12f0588733;p=ceph-ci.git 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 --- 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