@@ -41,13 +41,14 @@ def _fixup_payload(data: dict) -> dict:
4141
4242
4343def virtual_servers_list (
44+ active_only : bool = typer .Option (False , "--active-only" , help = "Show only active virtual servers" ),
4445 json_output : bool = typer .Option (False , "--json" , help = "Output as JSON" ),
4546) -> None :
4647 """List all virtual servers."""
4748 console = get_console ()
4849
4950 try :
50- result = make_authenticated_request ("GET" , "/servers" )
51+ result = make_authenticated_request ("GET" , "/servers" , params = { "include_inactive" : not active_only } )
5152
5253 if json_output :
5354 print_json (result , "Virtual Servers" )
@@ -68,7 +69,7 @@ def virtual_servers_list(
6869
6970
7071def virtual_servers_get (
71- server_id : int = typer .Argument (..., help = "Server ID" ),
72+ server_id : str = typer .Argument (..., help = "Server ID" ),
7273) -> None :
7374 """Get details of a specific virtual server."""
7475 try :
@@ -122,7 +123,7 @@ def virtual_servers_create(
122123
123124
124125def virtual_servers_update (
125- server_id : int = typer .Argument (..., help = "Server ID" ),
126+ server_id : str = typer .Argument (..., help = "Server ID" ),
126127 data_file : Optional [Path ] = typer .Argument (None , help = "JSON file containing updated server data" ),
127128) -> None :
128129 """Update an existing virtual server."""
@@ -148,7 +149,7 @@ def virtual_servers_update(
148149
149150
150151def virtual_servers_delete (
151- server_id : int = typer .Argument (..., help = "Server ID" ),
152+ server_id : str = typer .Argument (..., help = "Server ID" ),
152153 confirm : bool = typer .Option (False , "--yes" , "-y" , help = "Skip confirmation" ),
153154) -> None :
154155 """Delete a virtual server."""
@@ -169,13 +170,20 @@ def virtual_servers_delete(
169170
170171
171172def virtual_servers_toggle (
172- server_id : int = typer .Argument (..., help = "Server ID" ),
173+ server_id : str = typer .Argument (..., help = "Server ID" ),
173174) -> None :
174175 """Toggle virtual server active status."""
175176 console = get_console ()
176177
177178 try :
178- result = make_authenticated_request ("POST" , f"/servers/{ server_id } /toggle" )
179+ current_status = make_authenticated_request ("GET" , f"/servers/{ server_id } " )
180+ assert isinstance (current_status , dict )
181+ if current_status ["isActive" ]:
182+ activate = False
183+ else :
184+ activate = True
185+ result = make_authenticated_request ("POST" , f"/servers/{ server_id } /toggle" , params = {"activate" : activate })
186+ assert isinstance (result , dict )
179187 console .print ("[green]✓ Virtual server toggled successfully![/green]" )
180188 print_json (result , "Virtual Server Status" )
181189
@@ -184,7 +192,7 @@ def virtual_servers_toggle(
184192
185193
186194def virtual_servers_tools (
187- server_id : int = typer .Argument (..., help = "Server ID" ),
195+ server_id : str = typer .Argument (..., help = "Server ID" ),
188196 json_output : bool = typer .Option (False , "--json" , help = "Output as JSON" ),
189197) -> None :
190198 """List tools available in a virtual server."""
@@ -207,7 +215,7 @@ def virtual_servers_tools(
207215
208216
209217def virtual_servers_resources (
210- server_id : int = typer .Argument (..., help = "Server ID" ),
218+ server_id : str = typer .Argument (..., help = "Server ID" ),
211219 json_output : bool = typer .Option (False , "--json" , help = "Output as JSON" ),
212220) -> None :
213221 """List resources available in a virtual server."""
@@ -230,7 +238,7 @@ def virtual_servers_resources(
230238
231239
232240def virtual_servers_prompts (
233- server_id : int = typer .Argument (..., help = "Server ID" ),
241+ server_id : str = typer .Argument (..., help = "Server ID" ),
234242 json_output : bool = typer .Option (False , "--json" , help = "Output as JSON" ),
235243) -> None :
236244 """List prompts available in a virtual server."""
0 commit comments