]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/smb: add a new entry class for tls credential resources
authorJohn Mulligan <jmulligan@redhat.com>
Tue, 1 Jul 2025 15:28:02 +0000 (11:28 -0400)
committerJohn Mulligan <jmulligan@redhat.com>
Tue, 12 Aug 2025 14:48:03 +0000 (10:48 -0400)
Add a new entry class for the new tls credential resources. It should
work similarly to the join auth resources.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
src/pybind/mgr/smb/internal.py

index 36de2d51002ba76ddde4ef2c33ab6e327e8088ff..77c6c6ea2cdce02fb26932b67ea616ed03c38520 100644 (file)
@@ -206,6 +206,23 @@ class UsersAndGroupsEntry(CommonResourceEntry):
         return self.get_resource_type(resources.UsersAndGroups)
 
 
+class TLSCredentialEntry(CommonResourceEntry):
+    """TLSCredentialEntry resource getter/setter for the smb internal data
+    store(s).
+    """
+
+    namespace = ConfigNS.TLS_CREDENTIALS
+    _for_resource = resources.TLSCredential
+
+    @classmethod
+    def to_key(cls, resource: SMBResource) -> ResourceKey:
+        assert isinstance(resource, cls._for_resource)
+        return ResourceIDKey(resource.tls_credential_id)
+
+    def get_tls_credential(self) -> resources.TLSCredential:
+        return self.get_resource_type(resources.TLSCredential)
+
+
 def _map_resource_entry(
     resource: Union[SMBResource, Type[SMBResource]]
 ) -> Type[ResourceEntry]:
@@ -217,6 +234,7 @@ def _map_resource_entry(
         resources.RemovedShare: ShareEntry,
         resources.JoinAuth: JoinAuthEntry,
         resources.UsersAndGroups: UsersAndGroupsEntry,
+        resources.TLSCredential: TLSCredentialEntry,
     }
     try:
         return _map[rcls]