return
def cluster_unique_name_check(self, session, name):
+ # First check using the method you have for unique name validation
self.check_unique_name(session, name)
_filter = {"name": name}
- topic = "k8sclusters"
- if self.db.get_one(topic, _filter, fail_on_empty=False, fail_on_more=False):
- raise EngineException(
- "name '{}' already exists".format(name),
- HTTPStatus.CONFLICT,
- )
+ topics = [
+ "k8sclusters",
+ "k8sapp",
+ "k8sinfra_config",
+ "k8sinfra_controller",
+ "k8sresource",
+ ]
+
+ # Loop through each topic to check if the name already exists in any of them
+ for item in topics:
+ if self.db.get_one(item, _filter, fail_on_empty=False, fail_on_more=False):
+ raise EngineException(
+ f"name '{name}' already exists in topic '{item}'",
+ HTTPStatus.CONFLICT,
+ )
def list_both(self, session, filter_q=None, api_req=False):
"""List all clusters from both new and old APIs"""