From: John Mulligan Date: Wed, 3 Dec 2025 19:32:45 +0000 (-0500) Subject: mgr/smb: add new external ceph cluster to internal store mechs X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0cb64be6ee0e63eaca830a2a78663c89fc47f8d2;p=ceph.git mgr/smb: add new external ceph cluster to internal store mechs Extend the internal store mechanisms to support the newly added external ceph cluster resource type. Signed-off-by: John Mulligan --- diff --git a/src/pybind/mgr/smb/internal.py b/src/pybind/mgr/smb/internal.py index 77c6c6ea2cd..77f4ab4ef96 100644 --- a/src/pybind/mgr/smb/internal.py +++ b/src/pybind/mgr/smb/internal.py @@ -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]