]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/smb: add new external ceph cluster to internal store mechs
authorJohn Mulligan <jmulligan@redhat.com>
Wed, 3 Dec 2025 19:32:45 +0000 (14:32 -0500)
committerJohn Mulligan <jmulligan@redhat.com>
Tue, 17 Feb 2026 15:59:12 +0000 (10:59 -0500)
Extend the internal store mechanisms to support the newly added
external ceph cluster resource type.

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

index 77c6c6ea2cdce02fb26932b67ea616ed03c38520..77f4ab4ef963b73c4323cfdf8a2a0033604aeb62 100644 (file)
@@ -223,6 +223,21 @@ class TLSCredentialEntry(CommonResourceEntry):
         return self.get_resource_type(resources.TLSCredential)
 
 
+class ExternalCephClusterEntry(CommonResourceEntry):
+    """ExternalCephCluster resource getter/setter for internal store."""
+
+    namespace = ConfigNS.EXTERNAL_CEPH_CLUSTERS
+    _for_resource = resources.ExternalCephCluster
+
+    @classmethod
+    def to_key(cls, resource: SMBResource) -> ResourceKey:
+        assert isinstance(resource, cls._for_resource)
+        return ResourceIDKey(resource.external_ceph_cluster_id)
+
+    def get_external_ceph_cluster(self) -> resources.ExternalCephCluster:
+        return self.get_resource_type(resources.ExternalCephCluster)
+
+
 def _map_resource_entry(
     resource: Union[SMBResource, Type[SMBResource]]
 ) -> Type[ResourceEntry]:
@@ -235,6 +250,7 @@ def _map_resource_entry(
         resources.JoinAuth: JoinAuthEntry,
         resources.UsersAndGroups: UsersAndGroupsEntry,
         resources.TLSCredential: TLSCredentialEntry,
+        resources.ExternalCephCluster: ExternalCephClusterEntry,
     }
     try:
         return _map[rcls]