From 3ce8c4e2dcd40d17fc5a9590cc549479fc206019 Mon Sep 17 00:00:00 2001 From: Dalena Date: Tue, 14 Jan 2025 12:36:31 -0500 Subject: [PATCH] fix: check bots by network --- silverback/_cli.py | 4 ++-- silverback/cluster/client.py | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/silverback/_cli.py b/silverback/_cli.py index b3b65677..50795a4f 100644 --- a/silverback/_cli.py +++ b/silverback/_cli.py @@ -1019,8 +1019,8 @@ def new_bot( ): """Create a new bot in a CLUSTER with the given configuration""" - if name in cluster.bots: - raise click.UsageError(f"Cannot use name '{name}' to create bot") + if name in cluster.bots_by_network(network=network): + raise click.UsageError(f"Bot name {name} already exists in network {network}.") vargroup = [group for group in vargroups] diff --git a/silverback/cluster/client.py b/silverback/cluster/client.py index 0adb0399..1167b181 100644 --- a/silverback/cluster/client.py +++ b/silverback/cluster/client.py @@ -296,6 +296,11 @@ def bots(self) -> dict[str, Bot]: handle_error_with_response(response) return {bot.name: bot for bot in map(Bot.model_validate, response.json())} + def bots_by_network(self, network: str) -> dict[str, Bot]: + response = self.get(f"/bots/network/{network}") + handle_error_with_response(response) + return {bot.name: bot for bot in map(Bot.model_validate, response.json())} + def new_bot( self, name: str,